Skip to main content

Checkout Handler

정적, 동적 및 세션 플로우에 Dodo Payments checkout을 통합합니다.

Customer Portal

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

Webhooks

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

설치

1

Install the package

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

Set up environment variables

프로젝트 루트에 .env 파일을 생성합니다:
.env 파일이나 secrets를 버전 관리 시스템에 절대 커밋하지 마세요.

Route Handler 예제

모든 예제는 Next.js App Router를 사용한다고 가정합니다.
이 handler를 사용하여 Dodo Payments checkout을 Next.js 앱에 통합할 수 있습니다. 정적(GET), 동적(POST) 및 checkout session(POST) 결제 플로우를 지원합니다.

Checkout Route Handler

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

지원되는 Query Parameters

string
필수
Product 식별자(예: ?productId=pdt_nZuwz45WAs64n3l07zpQR)입니다.
integer
Product 수량입니다.
string
Customer의 전체 이름입니다.
string
Customer의 이름입니다.
string
Customer의 성입니다.
string
Customer의 email 주소입니다.
string
Customer의 국가입니다.
string
Customer의 주소 라인입니다.
string
Customer의 도시입니다.
string
Customer의 주/도입니다.
string
Customer의 우편번호입니다.
boolean
전체 이름 필드를 비활성화합니다.
boolean
이름 필드를 비활성화합니다.
boolean
성 필드를 비활성화합니다.
boolean
email 필드를 비활성화합니다.
boolean
국가 필드를 비활성화합니다.
boolean
주소 라인 필드를 비활성화합니다.
boolean
도시 필드를 비활성화합니다.
boolean
주 필드를 비활성화합니다.
boolean
우편번호 필드를 비활성화합니다.
string
결제 통화를 지정합니다(예: USD).
boolean
통화 선택기를 표시합니다.
integer
결제 금액을 지정합니다(예: $10.00의 경우 1000).
boolean
할인 필드를 표시합니다.
string
metadata_로 시작하는 모든 query parameter는 metadata로 전달됩니다.
productId가 누락되면 handler는 400 response를 반환합니다. 유효하지 않은 query parameter도 400 response를 발생시킵니다.

Response Format

정적 checkout은 checkout URL이 포함된 JSON response를 반환합니다:

Response Format

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

Response Format

Checkout sessions는 checkout URL이 포함된 JSON response를 반환합니다:

Customer Portal Route Handler

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

Query Parameters

string
필수
portal session의 customer ID입니다(예: ?customer_id=cus_123).
boolean
true로 설정하면 customer에게 portal link가 포함된 email을 보냅니다.
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: 검증 중 internal error
  • Event Routing: payload type에 따라 적절한 event handler를 호출합니다.

지원되는 Webhook Event Handlers


LLM용 Prompt

마지막 수정일 2026년 7월 31일