Skip to main content

Checkout Function

세션 기반 플로우로 Dodo Payments checkout을 통합합니다.

Customer Portal

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

Webhooks

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

설치

1

Install the package

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

Add Component to Convex Config

Convex 구성에 Dodo Payments 컴포넌트를 추가합니다:
convex.config.ts을 편집한 후, 필요한 타입을 생성하기 위해 npx convex dev을 한 번 실행합니다.
3

Set up environment variables

Convex 대시보드(SettingsEnvironment Variables)에서 환경 변수를 설정합니다. 다음 명령을 실행하여 대시보드에 액세스할 수 있습니다:
다음 환경 변수를 추가합니다:
  • DODO_PAYMENTS_API_KEY - Dodo Payments API 키
  • DODO_PAYMENTS_ENVIRONMENT - test_mode 또는 live_mode으로 설정
  • DODO_PAYMENTS_WEBHOOK_SECRET - 웹훅 시크릿(웹훅 처리에 필요)
민감한 정보에는 항상 Convex 환경 변수를 사용하세요. 시크릿을 버전 관리 시스템에 커밋하지 마세요.

컴포넌트 설정 예시

1

Create Internal Query

먼저 데이터베이스에서 고객을 가져오는 내부 쿼리를 생성합니다. 이 쿼리는 결제 함수에서 고객을 식별하는 데 사용됩니다.
이 쿼리를 사용하기 전에 convex/schema.ts 파일에 적절한 스키마를 정의하거나 기존 스키마에 맞게 쿼리를 변경해야 합니다.
2

Configure DodoPayments Component

이 함수를 사용하여 Convex 앱에 Dodo Payments checkout을 통합합니다. 전체 기능을 지원하는 세션 기반 checkout을 사용합니다.

Checkout 함수

Dodo Payments Convex 컴포넌트는 세션 기반 checkout을 사용하여 사전 구성된 상품 카트와 고객 세부 정보로 안전하고 맞춤 설정 가능한 checkout 환경을 제공합니다. 이는 모든 결제 플로우에 권장되는 방식입니다.

사용법

자세한 내용과 지원되는 필드의 전체 목록은 Checkout Sessions을 참조하세요.

응답 형식

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

Customer Portal 함수

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

사용법

매개변수

boolean
true로 설정하면 고객에게 portal 링크가 포함된 이메일을 보냅니다.
고객은 DodoPayments 설정에서 구성한 identify 함수를 사용하여 자동으로 식별됩니다. 이 함수는 고객의 dodoCustomerId을 반환해야 합니다.

웹훅 핸들러

  • Method: POST 요청만 지원됩니다. 다른 메서드는 405를 반환합니다.
  • Signature Verification: DODO_PAYMENTS_WEBHOOK_SECRET을 사용하여 웹훅 서명을 확인합니다. 확인에 실패하면 401을 반환합니다.
  • Payload Validation: Zod로 검증합니다. 유효하지 않은 페이로드에는 400을 반환합니다.
  • Error Handling:
    • 401: 유효하지 않은 서명
    • 400: 유효하지 않은 페이로드
    • 500: 확인 중 내부 오류
  • Event Routing: 페이로드 유형에 따라 적절한 이벤트 핸들러를 호출합니다.

지원되는 웹훅 이벤트 핸들러

프론트엔드 사용법

Convex hooks를 사용하여 React 컴포넌트에서 checkout 함수를 사용합니다.

LLM용 프롬프트

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