Skip to main content

Checkout Handler

SvelteKit 앱에 Dodo Payments checkout을 통합합니다.

Customer Portal

고객이 구독 및 세부 정보를 관리할 수 있도록 합니다.

Webhooks

Dodo Payments webhook 이벤트를 수신하고 처리합니다.

설치

1

Install the package

프로젝트 루트에서 다음 명령을 실행합니다:
2

Set up environment variables

프로젝트 루트에 .env 파일을 생성합니다:
.env 파일이나 secret을 version control에 커밋하지 마세요.

Route Handler 예시

모든 예시는 SvelteKit App Router를 사용한다고 가정합니다.
이 handler를 사용하여 Dodo Payments checkout을 SvelteKit 앱에 통합합니다. static (GET), dynamic (POST) 및 session (POST) payment flow를 지원합니다.

Checkout Route Handler

Dodo Payments은 웹사이트에 결제를 통합하기 위한 세 가지 payment flow를 지원하며, 이 adaptor는 모든 payment flow를 지원합니다.
  • Static Payment Links: 빠르고 코드 없이 결제를 수집할 수 있는 즉시 공유 가능한 URL입니다.
  • Dynamic Payment Links: API 또는 SDK를 사용하여 사용자 지정 세부 정보가 포함된 payment link를 프로그래밍 방식으로 생성합니다.
  • Checkout Sessions: 사전 구성된 product cart 및 customer details와 함께 안전하고 사용자 지정 가능한 checkout 환경을 생성합니다.

지원되는 Query Parameters

string
필수
상품 식별자(예: ?productId=pdt_nZuwz45WAs64n3l07zpQR).
integer
상품 수량입니다.
string
Customer의 전체 이름입니다.
string
Customer의 이름입니다.
string
Customer의 성입니다.
string
Customer의 이메일 주소입니다.
string
Customer의 국가입니다.
string
Customer의 주소 입력란입니다.
string
Customer의 도시입니다.
string
Customer의 주/도입니다.
string
Customer의 우편번호입니다.
boolean
전체 이름 필드를 비활성화합니다.
boolean
이름 필드를 비활성화합니다.
boolean
성 필드를 비활성화합니다.
boolean
이메일 필드를 비활성화합니다.
boolean
국가 필드를 비활성화합니다.
boolean
주소 입력란을 비활성화합니다.
boolean
도시 필드를 비활성화합니다.
boolean
주 필드를 비활성화합니다.
boolean
우편번호 필드를 비활성화합니다.
string
결제 통화를 지정합니다(예: USD).
boolean
통화 선택기를 표시합니다.
number
청구 금액을 주요 통화 단위로 고정합니다(예: $12.50의 경우 12.5). Pay What You Want 상품에만 적용되며, 상품의 최소 가격보다 낮으면 무시됩니다.
boolean
할인 필드를 표시합니다.
string
metadata_로 시작하는 모든 Query Parameter는 metadata로 전달됩니다.
productId가 누락되면 handler는 400 response를 반환합니다. 유효하지 않은 query parameter도 400 response를 발생시킵니다.

Response Format

Static checkout은 checkout URL이 포함된 JSON response를 반환합니다:
Dynamic Checkout은 더 이상 사용되지 않는 POST /paymentsPOST /subscriptions 엔드포인트를 프록시합니다. 기존 통합에서는 계속 작동하지만, 새 통합에는 아래의 Checkout Sessions를 사용해야 합니다.

응답 형식

Dynamic checkout은 checkout URL이 포함된 JSON 응답을 반환합니다:
Checkout sessions는 일회성 구매와 구독 모두에 대해 전체 결제 플로우를 처리하며, 완전한 사용자 지정 제어 기능을 제공하는 더 안전한 호스팅 checkout 환경을 제공합니다.자세한 내용과 지원되는 필드의 전체 목록은 Checkout Sessions Integration Guide를 참조하세요.

응답 형식

Checkout sessions는 checkout URL이 포함된 JSON 응답을 반환합니다:

Customer Portal Route Handler

Customer Portal Route Handler를 사용하면 Dodo Payments customer portal을 SvelteKit 애플리케이션에 원활하게 통합할 수 있습니다.

Query Parameters

string
필수
포털 세션의 customer ID입니다(예: ?customer_id=cus_123).
boolean
true로 설정하면 고객에게 포털 링크가 포함된 이메일을 보냅니다.
customer_id가 누락된 경우 400을 반환합니다.

Webhook Route Handler

  • Method: POST requests만 지원됩니다. 다른 Method는 405를 반환합니다.
  • Signature Verification: webhookKey를 사용하여 webhook signature를 확인합니다. 확인에 실패하면 401을 반환합니다.
  • Payload Validation: Zod로 검증합니다. 유효하지 않은 payload에는 400을 반환합니다.
  • Error Handling:
    • 401: 유효하지 않은 signature
    • 400: 유효하지 않은 payload
    • 500: 확인 중 내부 오류
  • Event Routing: payload type에 따라 적절한 event handler를 호출합니다.

Supported Webhook Event Handlers


LLM용 프롬프트

마지막 수정일 2026년 8월 21일