실제 Toss 전환 가이드

FakeToss로 붙인 결제 플로우를 실제 Toss Payments로 넘길 때 확인해야 할 차이만 정리했습니다. 아래 5단계를 순서대로 바꾸면 됩니다.

1. SDK import 교체

// Before
import { loadTossPayments } from "@yjroot/faketoss-sdk";
// After
import { loadTossPayments } from "@tosspayments/tosspayments-sdk";

2. clientKey 교체

// Before
const clientKey = "test_ck_yjroot_faketoss_default";
// After
const clientKey = process.env.NEXT_PUBLIC_TOSS_CLIENT_KEY!;

3. server secretKey 교체

// Before
const secretKey = "test_sk_yjroot_faketoss_default";
// After
const secretKey = process.env.TOSS_SECRET_KEY!;

4. baseUrl / checkoutUrl 옵션 제거

// Before
await loadTossPayments(clientKey, {
  baseUrl: "https://faketoss-alpha.yjroot.kr/v1",
  checkoutUrl: "https://faketoss-alpha.yjroot.kr/checkout",
});
// After
await loadTossPayments(clientKey);

5. 웹훅 URL / secret 재등록

// Before
https://your-app.example.com/api/faketoss/webhooks
// After
Toss merchant portal에 실제 운영 URL과 새 webhook secret을 다시 등록

Compatibility checklist

범위설명
100% compatiblerequestPayment/requestBillingAuth 호출 구조, Basic Auth 승인, paymentKey/orderId 기반 조회, 결제/취소/가상계좌/빌링 기본 플로우
FakeToss onlyscenario 파라미터, /admin 하위 관리자 페이지, 수동 웹훅 발사, baseUrl/checkoutUrl 커스텀