Skip to main content

Checkout API Route

서버 route를 사용하여 Dodo Payments checkout을 Nuxt 앱에 통합합니다.

Customer Portal API Route

고객이 Nuxt 서버 route를 통해 구독 및 세부 정보를 관리할 수 있도록 합니다.

Webhooks API Route

Nuxt에서 Dodo Payments webhook 이벤트를 안전하게 수신하고 처리합니다.

개요

이 가이드에서는 공식 Nuxt 모듈을 사용하여 Dodo Payments을(를) Nuxt 애플리케이션에 통합하는 방법을 설명합니다. checkout, customer portal 및 webhook API route를 설정하고 환경 변수를 안전하게 관리하는 방법을 알아봅니다.

설치

1

Install the Nuxt module

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

Register the module in nuxt.config.ts

@dodopayments/nuxtmodules 배열에 추가하고 다음과 같이 구성합니다:
nuxt.config.ts
.env 파일이나 secret을 version control에 절대 commit하지 마세요.

API Route Handler 예시

Nuxt의 모든 Dodo Payments 통합은 server/routes/api/ 디렉터리의 server route를 통해 처리됩니다.
이 handler를 사용하여 Dodo Payments checkout을 Nuxt 앱에 통합합니다. static (GET), dynamic (POST) 및 session (POST) 결제 flow를 지원합니다.
productId가 누락되었거나 유효하지 않으면 handler가 400 response를 반환합니다.

Checkout Route Handler

Dodo Payments은 웹사이트에 결제를 통합하기 위한 세 가지 결제 flow를 지원하며, 이 어댑터는 모든 유형의 결제 flow를 지원합니다.
  • Static Payment Links: 빠르고 no-code 결제 수집을 위해 즉시 공유할 수 있는 URL입니다.
  • Dynamic Payment Links: API 또는 SDK를 사용하여 사용자 지정 세부 정보가 포함된 결제 link를 programmatically 생성합니다.
  • Checkout Sessions: 사전 구성된 product cart 및 customer 세부 정보로 안전하고 사용자 지정 가능한 checkout experience를 생성합니다.

지원되는 Query Parameters

string
필수
제품 식별자(예: ?productId=pdt_nZuwz45WAs64n3l07zpQR).
integer
제품 수량.
string
고객의 전체 이름.
string
고객의 이름.
string
고객의 성.
string
고객의 이메일 주소.
string
고객의 국가.
string
고객의 주소 입력란.
string
고객의 도시.
string
고객의 주/도.
string
고객의 우편번호.
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는 일회성 구매와 구독 모두에 대해 전체 결제 흐름을 처리하며, 완전한 사용자 지정 제어 기능을 제공하는 더욱 안전한 hosted checkout 환경을 제공합니다.자세한 내용과 지원되는 필드의 전체 목록은 Checkout Sessions 통합 가이드를 참조하세요.

응답 형식

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

Customer Portal 경로 핸들러

Customer Portal 경로 핸들러를 사용하면 Dodo Payments Customer Portal을 Nuxt 애플리케이션에 원활하게 통합할 수 있습니다.

쿼리 매개변수

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

Webhook 경로 핸들러

  • 메서드: POST 요청만 지원됩니다. 다른 메서드는 405를 반환합니다.
  • 서명 확인: webhookKey를 사용하여 webhook 서명을 확인합니다. 확인에 실패하면 401을 반환합니다.
  • 페이로드 검증: Zod를 사용하여 검증합니다. 페이로드가 유효하지 않으면 400을 반환합니다.
  • 오류 처리:
    • 401: 유효하지 않은 서명
    • 400: 유효하지 않은 페이로드
    • 500: 확인 중 내부 오류
  • 이벤트 라우팅: 페이로드 유형에 따라 적절한 이벤트 핸들러를 호출합니다.

지원되는 Webhook 이벤트 핸들러


LLM용 프롬프트

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