메인 콘텐츠로 건너뛰기
Dodo Payments는 결제 통합을 간소화하는 공식 프레임워크 어댑터를 제공합니다. 각 어댑터는 프레임워크의 관례와 원활하게 작동하도록 설계되어 있으며, 체크아웃, 고객 포털 및 웹훅 처리를 즉시 제공합니다.
프레임워크 어댑터를 사용하면 10줄 이하의 코드로 Dodo Payments를 통합할 수 있습니다. 이들은 인증, 요청 파싱 및 응답 형식을 자동으로 처리합니다.

사용 가능한 프레임워크 어댑터

귀하의 프레임워크에 맞는 어댑터를 선택하세요:

핵심 기능

모든 프레임워크 어댑터는 다음과 같은 기본 기능을 제공합니다:
기능설명
체크아웃 핸들러정적, 동적 및 세션 기반 체크아웃 흐름 지원
고객 포털구독 및 청구 관리를 위한 사전 구축된 핸들러
웹훅 핸들러타입이 지정된 이벤트 핸들러와 함께 보안 서명 검증
환경 구성환경 변수를 통한 간단한 설정
타입 안전성타입이 지정된 페이로드와 함께 전체 TypeScript 지원

빠른 시작

세 단계로 모든 프레임워크 어댑터를 시작하세요:
1

어댑터 설치

패키지 관리자를 사용하여 프레임워크 전용 어댑터를 설치하세요:
npm install @dodopayments/nextjs
2

환경 변수 구성

Dodo Payments 자격 증명을 환경에 추가하세요:
DODO_PAYMENTS_API_KEY=your-api-key
DODO_PAYMENTS_WEBHOOK_KEY=your-webhook-secret
DODO_PAYMENTS_RETURN_URL=https://yourdomain.com/checkout/success
DODO_PAYMENTS_ENVIRONMENT="test_mode" # or "live_mode"
절대 .env 파일이나 비밀을 버전 관리에 커밋하지 마세요.
3

라우트 핸들러 생성

체크아웃, 고객 포털 및 웹훅 라우트를 설정하세요:
// app/checkout/route.ts
import { Checkout } from "@dodopayments/nextjs";

export const GET = Checkout({
  bearerToken: process.env.DODO_PAYMENTS_API_KEY,
  returnUrl: process.env.DODO_PAYMENTS_RETURN_URL,
  environment: process.env.DODO_PAYMENTS_ENVIRONMENT,
});
이제 결제를 처리할 준비가 되었습니다! 개별 어댑터 페이지를 방문하여 자세한 가이드와 모든 사용 가능한 옵션을 확인하세요.

체크아웃 흐름 유형

모든 어댑터는 세 가지 체크아웃 흐름 유형을 지원합니다:
간단하고 공유 가능한 결제 링크를 위해 정적 체크아웃을 사용하세요. 제품 ID를 쿼리 매개변수로 전달하세요:
/api/checkout?productId=pdt_xxx&quantity=1
선택적 고객 미리 채우기 및 쿼리 매개변수를 통한 사용자 정의를 지원합니다.
사용자 정의 세부정보로 결제를 프로그래밍 방식으로 생성하려면 동적 체크아웃을 사용하세요:
{
  "product_id": "pdt_xxx",
  "customer": {
    "email": "customer@example.com",
    "name": "John Doe"
  },
  "quantity": 1
}
일회성 결제와 구독 모두를 지원합니다.
장바구니 지원이 있는 가장 유연한 체크아웃 경험을 위해 체크아웃 세션을 사용하세요:
{
  "product_cart": [
    { "product_id": "pdt_xxx", "quantity": 1 },
    { "product_id": "pdt_yyy", "quantity": 2 }
  ],
  "customer": {
    "email": "customer@example.com"
  }
}
체크아웃 세션 가이드에서 자세히 알아보세요.

웹훅 이벤트 처리

모든 어댑터는 세분화된 이벤트 콜백을 사용하여 타입 안전 웹훅 처리를 제공합니다:
Webhooks({
  webhookKey: process.env.DODO_PAYMENTS_WEBHOOK_KEY,
  onPayload: async (payload) => {
    // Handle any webhook event
  },
  onPaymentSucceeded: async (payload) => {
    // Handle successful payments
  },
  onSubscriptionActive: async (payload) => {
    // Handle new subscriptions
  },
  // ... 20+ event types supported
});
모든 웹훅 핸들러는 서명을 자동으로 검증하고 Zod 스키마를 사용하여 페이로드를 검증합니다. 유효하지 않은 요청은 적절한 오류 코드로 거부됩니다.

올바른 어댑터 선택하기

프레임워크최적런타임
Next.js앱 라우터가 있는 풀스택 React 앱Node.js, Edge
Nuxt풀스택 Vue.js 애플리케이션Node.js
ExpressREST API 및 전통적인 Node.js 앱Node.js
Fastify고성능 APINode.js
Hono엣지 배포, Cloudflare WorkersEdge, Node.js
Astro서버 엔드포인트가 있는 콘텐츠 사이트Node.js, Edge
SvelteKit풀스택 Svelte 애플리케이션Node.js
Remix중첩 라우팅이 있는 풀스택 ReactNode.js
TanStack Start타입 안전 풀스택 ReactNode.js
Better Auth이미 Better Auth를 사용하는 앱다양한
Convex백엔드에 Convex를 사용하는 앱Convex Runtime

도움 받기

프레임워크 어댑터에 대한 도움이 필요하신가요?