Documentation Index
Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
Use this file to discover all available pages before exploring further.
새로운 기능
1. 중첩 할인 코드
체크아웃 세션, 결제, 구독 및 요금제 변경은 이제 discount_codes 배열을 통해 요청당 최대 20개 할인 코드를 수용합니다. 코드는 배열 순서대로 적용됩니다 — 첫 번째 유효한 코드는 기본 가격을 줄이고, 두 번째 코드는 이미 할인된 가격을 줄이는 식입니다 — 특별한 조합 코드를 생성하지 않고도 캠페인을 중첩할 수 있습니다.
const session = await client.checkoutSessions.create({
product_cart: [{ product_id: 'prod_abc', quantity: 1 }],
discount_codes: ['WELCOME10', 'BLACKFRIDAY20'], // applied in this order
customer: { email: 'user@example.com' },
return_url: 'https://yoursite.com/return'
});
적용 위치
| 표면 | 필드 | 최대 코드 |
|---|
| 체크아웃 세션 | discount_codes | 20 |
| 결제 | discount_codes | 20 |
| 구독 | discount_codes | 20 |
| 요금제 변경 | discount_codes | 20 |
요금제 변경 동작
discount_codes 값 | 효과 |
|---|
| 제공되지 않음 | 새로운 제품에 적용할 수 있는 기존 할인은 유지됨 |
[] (빈 배열) | 구독에서 모든 기존 할인 제거 |
['CODE_A', 'CODE_B', ...] | 배열 순서로 적용되는 중첩 세트로 기존 할인을 대체 |
응답 형태
적용된 할인 전체 세트는 결제 및 구독에서 discounts 배열에 반환됩니다 — 각 항목에는 discount_id, position 및 cycles_remaining (구독의 경우)가 포함됩니다. 단일 필드 discount_id는 더 이상 사용되지 않지만 하위 호환성을 위해 여전히 존재합니다.
단일 필드 discount_code는 더 이상 사용되지 않지만 여전히 완전히 지원됩니다 — 기존 통합은 변화 없이 계속 작동합니다. 같은 요청에서 discount_codes와 결합할 수 없습니다. 스택을 쌓고 더 풍부한 응답 형태를 활용하기 위해 가능한 한 discount_codes로 마이그레이션할 것을 권장합니다.
자세히 알아보기: Discount Codes | Checkout Session | Plan Changes
2. 7개의 새로운 고객 알림 이메일
이제 7개의 새로운 거래 이메일이 자동으로 고객에게 발송되며, 환불 확인, 구독 수명 주기 마일스톤 및 결제 실패를 다룹니다. 각 이메일은 설정 → 커뮤니케이션의 고객 이메일 섹션에서 독립적으로 전환할 수 있습니다.
옵트인 (기본적으로 활성화됨)
| 이메일 | 실행 시점 |
|---|
| 환불 성공 | 환불이 성공적으로 처리되고 고객에게 자금이 반환됨 |
| 구독 체험 종료 | 체험이 만료되기 전 약 2일 전 첫 번째 청구가 발생함 |
| 즉시 취소된 구독 | 구독이 즉시 취소됨 |
| 다음 청구 날짜에 취소 예정인 구독 | 현재 청구 기간 종료 시점에 구독이 취소 예정 |
옵트아웃 (기본적으로 비활성화됨)
| 이메일 | 실행 시점 |
|---|
| 결제 실패 | 결제 시도가 실패함 — Dodo Payments가 직접 고객에게 알리기를 원하면 활성화 |
| 구독 갱신 실패 | 구독 갱신 결제가 실패할 경우 특정 발생; 일반 결제 실패 이메일 대신 (추가로 아님) 실행됨 |
| 다가오는 갱신 알림 | 약 2일 전에 구독이 갱신됨 |
웹훅을 통해 고객 통신을 직접 관리하는 경우, 동일한 이벤트에 대한 중복 알림을 피하기 위해 옵트아웃 이메일을 비활성화 상태로 유지하세요.
고객 이메일은 팀에 발송되는 알림 이메일과 별개입니다. 고객 이메일을 비활성화해도 동일한 이벤트에 대한 팀의 알림에는 영향을 미치지 않습니다.
자세히 알아보기: Communication Preferences
3. Sunbit — 미국 고객을 위한 할부 금융
Sunbit은 이제 구매 즉시 결제(Buy Now, Pay Later) 결제 방법으로 제공되며, 미국 고객이 체크아웃 시 구매를 관리 가능한 월 할부로 분할할 수 있도록 합니다.
| 기능 | 세부 사항 |
|---|
| 이용 가능 지역 | 미국 |
| 통화 | USD |
| 최소 금액 | $60.00 |
| 최대 금액 | $19,999.00 |
| 구독 | 지원되지 않음 (일회성 결제만 가능) |
체크아웃 세션에서 sunbit를 allowed_payment_method_types로 전달하여 이를 활성화하세요:
const session = await client.checkoutSessions.create({
product_cart: [{ product_id: 'prod_123', quantity: 1 }],
allowed_payment_method_types: ['sunbit', 'credit', 'debit'],
return_url: 'https://example.com/success'
});
고객은 체크아웃 시 Sunbit 모달에서 간단한 금융 신청서를 작성하며, 승인되면 결제가 확인되고 정상적으로 자금을 받습니다.
항상 credit와 debit를 대체 옵션으로 포함하세요. 모든 고객이 Sunbit 금융에 적합하지 않으므로 60.00–19,999.00 범위를 벗어난 거래는 옵션이 표시되지 않습니다.
자세히 알아보기: BNPL Payment Methods
개선 사항
4. 체크아웃 결제 페이지 개편
체크아웃 결제 페이지가 처음부터 끝까지 대대적으로 재작업되었습니다 — 더 촘촘한 레이아웃, 더 빠른 인식 로드, 더 명확한 검증 상태, 그리고 세련된 카드 입력 UX가 포함되었습니다. 이러한 변화들로 인해 전 세계 트래픽에서 약 2-3%의 체크아웃 성공률 증가가 관찰되었습니다.
변경 사항:
- 더 부드러운 필드 상호작용 — 자동 초점, 더 스마트한 탭 순서 및 카드 양식의 향상된 키보드 탐색
- 더 깔끔한 오류 및 로딩 상태 — 인라인 검증이 고객이 조치를 취해야 하는 지점에 정확히 표시되어 이전의 전체 양식 오류 배너 패턴을 대체
- 더 빠른 페인트 — 스켈레톤과 점진적 하이드레이션이 느린 네트워크에서의 짧은 빈 상태 깜박임을 제거
- 모바일 최적화 — 탭 대상, 스크롤 동작 및 키보드 처리가 주로 모바일 체크아웃을 위해 특별히 조정됨
통합 변경 사항이 필요하지 않습니다. 기존 체크아웃 세션은 새로운 결제 페이지를 자동으로 받아들입니다.
5. 제품 양식 재작업
제품 생성, 편집, 및 복제 흐름이 단일 일관된 양식 경험으로 새롭게 구축되었습니다.
주요 특징:
- 실시간 미리보기 — 편집하면서 체크아웃 및 고객 포털에 제품이 어떻게 보이는지 양식과 함께 나란히 볼 수 있음
- 자동 저장 — 초안이 자동으로 저장되어 탭을 잃거나 이동할 때 작업이 사라지지 않음
- Markdown 편집기 — 제품 설명이 이제 라이브 렌더링, 링크 미리보기 및 인라인 서식 컨트롤을 갖춘 전체 markdown 편집기를 지원
- 복제 흐름 동등성 — 제품을 복제하면 동일한 통합 양식이 미리 채워진 상태로 열리며, 저장하기 전에 모든 필드를 조정할 수 있음
복제를 사용하여 설명, 메타데이터 또는 이행 구성을 다시 입력하지 않고도 기존 제품의 지역 또는 가격 등급 변형을 생성하세요.
6. 비즈니스 설정 페이지 재설계
설정 → 비즈니스 페이지가 재설계되어 구성을 더 쉽게 스캔하고 더 빠르게 업데이트할 수 있습니다. 설정은 설명 카피와 함께 더 명확한 섹션으로 그룹화되어 토글의 영향을 설명합니다.
기존 설정에 행동 변화 없음 — 레이아웃, 그룹화 및 주변 설명만 개선되었습니다.
개선 사항
credits_amount이 GET 체크아웃 세션 및 결제 링크 경로에 올바르게 전달됨 — 체크아웃 세션 또는 결제 링크가 개별 체크아웃 credit_entitlements 오버라이드를 사용하여 생성되었을 때, GET을 통해 해당 세션 또는 링크를 가져오는 것은 제품 수준의 기본 credits_amount를 반환했습니다. 이것은 이제 수정되었습니다.
- 완전히 환불된 결제에 대해 환불 작업 비활성화 — 환불 버튼이 결제 전액이 환불된 후 비활성화되며, 그 이유를 설명하는 툴팁이 제공됩니다. 이전에는 버튼이 활성 상태로 유지되었으며 제출 후에만 오류를 반환했습니다.
- 플랫폼 전반에 걸쳐 사소한 버그 수정 및 안정성 향상