시작하기
빠른 시작
안전한 호스티드 체크아웃을 열고 완료된 주문을 검증합니다.
RANTAN Hosted Checkout은 서버가 생성하는 결제 흐름입니다. 백엔드에서 주문을 고정하고, 브라우저에서 호스티드 UI를 연 뒤, 백엔드에서 이행 완료를 검증합니다.
#시작하기 전에
RANTAN 판매자 계정, Verified RANTAN Factory NFT가 연결된 판매 중 상품, HTTPS 반환 주소가 필요합니다.
#1. Checkout Session 생성
판매자 주문마다 백엔드에서 세션을 하나 생성합니다. 자체 주문 시스템의 안정적이고 고유한 client_reference_id를 사용하세요.
curl -X POST https://app.rantan.xyz/api/v2/checkout-sessions/ \
-H "Authorization: Bearer $RANTAN_SELLER_JWT" \
-H "Content-Type: application/json" \
-d '{
"product_id": 123,
"client_reference_id": "order_20260730_001",
"quantity": 1,
"return_url": "https://merchant.example/orders/20260730_001",
"allowed_origin": "https://merchant.example"
}'#세션 응답
verification_key는 판매자 주문과 함께 서버에 저장합니다. 브라우저에는 세션 ID, 상품 ID, 주문 참조값만 전달하세요.
{
"id": "c8a9d48e-68b2-48dd-a754-75635cae71d6",
"product_id": 123,
"client_reference_id": "order_20260730_001",
"quantity": 1,
"digital_mode": "",
"request_amount": null,
"return_url": "https://merchant.example/orders/20260730_001",
"allowed_origin": "https://merchant.example",
"status": "open",
"canceled_at": null,
"expires_at": "2026-07-30T09:30:00Z",
"verification_key": "server-only-verification-key",
"checkout_path": "/checkout/123?session_id=c8a9d48e-...",
"verification_path": "/api/v2/checkout-sessions/c8a9d48e-.../verify/",
"cancel_path": "/api/v2/checkout-sessions/c8a9d48e-.../"
}#2. 호스티드 Checkout 열기
호스티드 SDK를 불러오고 구매 버튼 같은 사용자 동작에서 해당 세션의 팝업을 엽니다.
<button id="buy">Buy with RANTAN</button>
<script src="https://app.rantan.xyz/checkout-v2.js"></script>
<script>
document.querySelector("#buy").addEventListener("click", async () => {
const result = await RantanCheckout.open({
productId: 123,
sessionId: "c8a9d48e-68b2-48dd-a754-75635cae71d6",
clientReferenceId: "order_20260730_001",
});
// UI notification only. Verify this session from your backend.
await fetch("/api/orders/20260730_001/verify", { method: "POST" });
});
</script>#3. 이행 완료 검증
팝업이 완료를 알리거나 구매자가 돌아오면 백엔드에서 검증 엔드포인트를 호출합니다.
curl https://app.rantan.xyz/api/v2/checkout-sessions/$SESSION_ID/verify/ \
-H "X-Rantan-Checkout-Verification-Key: $CHECKOUT_VERIFICATION_KEY"