메인 콘텐츠로 건너뛰기

Checkout Handler

Tanstack 앱에 Dodo Payments 체크아웃을 통합하세요.

Customer Portal

고객이 구독 및 정보를 관리하도록 허용하세요.

Webhooks

Dodo Payments 웹후크 이벤트를 수신하고 처리하세요.

설치

1

Install the package

프로젝트 루트에서 다음 명령을 실행하세요:
2

Set up environment variables

프로젝트 루트에 .env 파일을 생성하세요:
절대 .env 파일이나 비밀을 버전 관리에 커밋하지 마세요.

라우트 핸들러 예제

모든 예시는 Tanstack App Router를 사용하는 것으로 가정합니다.
이 핸들러를 사용하여 Tanstack 앱에 Dodo Payments 체크아웃을 통합하세요. 정적(GET), 동적(POST), 세션(POST) 결제 흐름을 지원합니다.

체크아웃 라우트 핸들러

Dodo Payments는 귀하의 웹사이트에 결제를 통합하기 위해 세 가지 결제 흐름 유형을 지원하며, 이 어댑터는 모든 유형의 결제 흐름을 지원합니다.
  • 정적 결제 링크: 빠르고 코드 없이 결제를 수집할 수 있는 즉시 공유 가능한 URL입니다.
  • 동적 결제 링크: API 또는 SDK를 사용하여 사용자 정의 세부정보로 결제 링크를 프로그래밍 방식으로 생성합니다.
  • 체크아웃 세션: 미리 구성된 제품 장바구니 및 고객 세부정보로 안전하고 사용자 정의 가능한 체크아웃 경험을 생성합니다.

Supported Query Parameters

productId
string
필수
상품 식별자(예: ?productId=pdt_nZuwz45WAs64n3l07zpQR).
quantity
integer
상품 수량.
fullName
string
고객의 전체 이름.
firstName
string
고객의 이름.
lastName
string
고객의 성.
email
string
고객의 이메일 주소.
country
string
고객의 국가.
addressLine
string
고객의 주소(한 줄).
city
string
고객의 도시.
state
string
고객의 주/도.
zipCode
string
고객의 우편/우편번호.
disableFullName
boolean
전체 이름 필드 비활성화.
disableFirstName
boolean
이름 필드 비활성화.
disableLastName
boolean
성 필드 비활성화.
disableEmail
boolean
이메일 필드 비활성화.
disableCountry
boolean
국가 필드 비활성화.
disableAddressLine
boolean
주소 필드 비활성화.
disableCity
boolean
도시 필드 비활성화.
disableState
boolean
주/도 필드 비활성화.
disableZipCode
boolean
우편번호 필드 비활성화.
paymentCurrency
string
결제 통화 지정(예: USD).
showCurrencySelector
boolean
통화 선택기 표시.
paymentAmount
integer
결제 금액 지정(예: 1000은 $10.00입니다).
showDiscounts
boolean
할인 필드 표시.
metadata_*
string
metadata_로 시작하는 모든 쿼리 매개변수는 메타데이터로 전달됩니다.
productId가 누락되면 핸들러는 400 응답을 반환합니다. 잘못된 쿼리 매개변수도 400 응답을 초래합니다.

응답 형식

정적 체크아웃은 체크아웃 URL이 포함된 JSON 응답을 반환합니다:

응답 형식

동적 체크아웃은 체크아웃 URL이 포함된 JSON 응답을 반환합니다:
체크아웃 세션은 일회성 구매 및 구독 모두에 대해 전체 결제 흐름을 처리하고 완전한 사용자 지정 제어를 제공하는 보다 안전한 호스팅된 체크아웃 환경을 제공합니다.자세한 내용과 지원되는 필드의 전체 목록은 체크아웃 세션 통합 가이드를 참조하세요.

응답 형식

체크아웃 세션은 체크아웃 URL이 포함된 JSON 응답을 반환합니다:

고객 포털 라우트 핸들러

고객 포털 라우트 핸들러는 Dodo Payments 고객 포털을 Tanstack 애플리케이션에 원활하게 통합할 수 있도록 합니다.

쿼리 매개변수

customer_id
string
필수
포털 세션을 위한 고객 ID(예: ?customer_id=cus_123).
send_email
boolean
true로 설정하면 포털 링크가 포함된 이메일을 고객에게 보냅니다.
customer_id가 없으면 400을 반환합니다.

웹훅 라우트 핸들러

  • 메서드: POST 요청만 지원됩니다. 다른 메서드는 405를 반환합니다.
  • 서명 검증: webhookKey를 사용하여 웹훅 서명을 검증합니다. 검증 실패 시 401을 반환합니다.
  • 페이로드 검증: Zod로 검증됩니다. 잘못된 페이로드에 대해 400을 반환합니다.
  • 오류 처리:
    • 401: 잘못된 서명
    • 400: 잘못된 페이로드
    • 500: 검증 중 내부 오류
  • 이벤트 라우팅: 페이로드 유형에 따라 적절한 이벤트 핸들러를 호출합니다.

지원되는 웹후크 이벤트 핸들러


LLM을 위한 프롬프트

마지막 수정일 2026년 5월 22일