첫 결제 받기
빠른 시작 을 더 자세히 다룬 버전으로, 프로덕션에서 처리해야 할 모든 단계를 설명합니다.
1. 통합 모델 결정
섹션 제목: “1. 통합 모델 결정”| 모델 | 사용 상황 |
|---|---|
| Hosted Checkout | 웹 체크아웃, 결제자가 카탈로그에서 통화 선택. ParaSta 가 결제 페이지를 호스팅. |
| QR Session | 매장·POS·키오스크. 결제자가 본인 지갑으로 QR 스캔. |
| Direct Payment | UI 를 직접 제어하고 주소 표시도 직접 처리. |
이 가이드는 Hosted Checkout 을 사용합니다. 다른 모델은 Hosted Checkout, QR 결제 를 참조하세요.
2. Checkout Session 생성
섹션 제목: “2. Checkout Session 생성”curl https://api.parasta.io/v1/checkout/sessions \ -H "Authorization: Bearer sk_test_..." \ -H "Content-Type: application/json" \ -d '{ "line_items": [{"name":"T-shirt","amount":10000000,"currency":"USDT"}], "success_url": "https://your-site.com/success?session_id={CHECKOUT_SESSION_ID}", "cancel_url": "https://your-site.com/cancel" }'const session = await parasta.checkout.sessions.create({ line_items: [{ name: 'T-shirt', amount: 10_000_000, currency: 'USDT' }], success_url: 'https://your-site.com/success?session_id={CHECKOUT_SESSION_ID}', cancel_url: 'https://your-site.com/cancel',});res.redirect(303, session.url);session = parasta.checkout.Session.create( line_items=[{'name':'T-shirt','amount':10_000_000,'currency':'USDT'}], success_url='https://your-site.com/success?session_id={CHECKOUT_SESSION_ID}', cancel_url='https://your-site.com/cancel',)3. 결제자 리다이렉트
섹션 제목: “3. 결제자 리다이렉트”session.url 은 ParaSta 가 호스팅하는 페이지입니다. 결제자가 네트워크를 선택하고 암호자산을 송금하면, 결제 컨펌 후 success_url 로 리다이렉트됩니다.
4. 서버에서 검증 (리다이렉트만 신뢰하지 말 것)
섹션 제목: “4. 서버에서 검증 (리다이렉트만 신뢰하지 말 것)”결제자가 success_url 로 돌아온 후, 서버 사이드에서 세션을 조회해 컨펌하세요.
curl https://api.parasta.io/v1/checkout/sessions/cs_abc123 \ -H "Authorization: Bearer sk_test_..."const session = await parasta.checkout.sessions.retrieve(sessionId);if (session.status === 'complete') { /* fulfill order */ }session = parasta.checkout.Session.retrieve(session_id)if session.status == 'complete': # fulfill order다만 리다이렉트만으로 주문을 처리하는 것은 취약합니다 (결제자가 탭을 닫을 수 있음). 신뢰 가능한 시그널은 checkout.session.completed 웹훅입니다.
5. 웹훅 설정
섹션 제목: “5. 웹훅 설정”웹훅 → 개요 를 참조하세요. 최소한 checkout.session.completed 를 수신하고 id 로 멱등성 있게 주문을 처리하세요.