메인 콘텐츠로 건너뛰기

새로운 기능

1. 제품 컬렉션

고객 포털 내에서 통합 결제 경험, 요금제 선택, 원활한 업그레이드/다운그레이드 경로를 위해 관련 제품들을 함께 묶습니다.
Product Collection checkout page showing multiple plan options
주요 이점
  • 컬렉션 기반 결제: 컬렉션의 모든 제품을 하나의 결제 뷰에 표시하여 고객이 비교하고 원하는 요금제를 선택할 수 있도록 합니다.
  • 체계적인 제품 관리: 관련 제품(예: Starter, Pro, Enterprise)을 하나의 컬렉션 아래에 그룹화
  • 고객 포털 통합: 동일 컬렉션 내 제품 간 업그레이드 또는 다운그레이드를 가능하게 함
  • 판매자 제어: 각 컬렉션에서 제품을 활성화, 비활성화 및 재정렬
작동 방식 컬렉션을 위한 결제 세션 만들기:
const session = await client.checkoutSessions.create({
  product_collection_id: 'pdc_abc123',
  product_cart: [], // Required: pass an empty array for collection checkout
  return_url: 'https://yoursite.com/return'
});

// Redirect customer to the checkout
window.location.href = session.url;
결과: 고객이 컬렉션의 모든 사용 가능한 제품을 보고 선택할 수 있는 통합 결제 경험.
컬렉션 결제는 고객이 구매 전에 요금제를 나란히 비교하도록 하려는 구독 비즈니스에 이상적입니다.
자세히 보기: Product Collections Guide

2. GBP 통화를 위한 RevolutPay 및 Billie 결제 수단

RevolutPay 및 Billie가 이제 GBP 일회성 결제 거래에 전 세계적으로 제공되어 고객에게 결제 방식의 유연성을 제공합니다. 새로운 결제 수단
결제 수단사용 가능 국가통화구독 지원
RevolutPay전 세계GBP아니요 (일회성만)
Billie전 세계GBP아니요 (일회성만)
  • RevolutPay – 전 세계 Revolut 사용자에게 빠르고 원활한 결제 제공
  • Billie – 기업이 고객에게 유연한 결제 조건을 제공할 수 있도록 하는 B2B 후불 결제 솔루션
이러한 결제 수단은 GBP 거래에 자동으로 제공되며 추가 구성은 필요하지 않습니다.
자세히 보기: Payment Methods

3. 결제 세션 미리보기

결제 세션을 생성하기 전에 미리보기하여 정확한 가격, 세금, 할인 및 합계를 계산합니다. 고객이 결제 단계로 진행하기 전에 실제 가격을 표시합니다. 작동 방식
const preview = await client.checkoutSessions.preview({
  product_cart: [
    { product_id: 'prod_123', quantity: 1 }
  ],
  billing_address: {
    country: 'US',
    state: 'CA',
    zipcode: '94102'
  },
  discount_code: 'SAVE20'
});

console.log('Subtotal:', preview.subtotal);
console.log('Tax:', preview.tax);
console.log('Discount:', preview.discount);
console.log('Total:', preview.total);
사용 사례
  • 맞춤 가격 표시: 결제 전에 세금을 포함한 정확한 합계를 보여줍니다.
  • 할인 유효성 검사: 할인 코드를 확인하고 고객에게 절약액을 보여줍니다.
  • 다중 통화 지원: 다양한 통화의 가격을 미리보기합니다.
  • 장바구니 요약: 실시간 가격으로 맞춤 장바구니 UI 구축

Preview API Reference

전체 미리보기 엔드포인트 설명서를 확인하세요.

4. 요금제 변경 요청 시 메타데이터 지원

요금제를 변경할 때 맞춤 메타데이터를 전달하여 요금제 전환 중 내부 시스템과의 통합 및 추적을 개선합니다.
// Adding metadata when changing a subscription plan
await client.subscriptions.changePlan('sub_123', {
  product_id: 'prod_premium',
  proration_billing_mode: 'prorated_immediately',
  quantity: 1,
  metadata: {
    upgrade_reason: 'feature_request',
    previous_plan: 'basic',
    sales_rep: 'john@company.com'
  }
});
사용 사례
  • 업그레이드/다운그레이드 이유 추적: 고객이 요금제를 변경한 이유 저장
  • CRM 기록 연결: 요금제 변경을 영업 활동과 연계
  • 내부 분류: 보고 및 분석을 위해 요금제 변경에 태그 지정
  • 감사 추적: 누가 요금제 변경을 시작했는지 기록 유지
메타데이터는 웹훅 이벤트에 포함되어 있어 맞춤 데이터를 사용한 요금제 변경 처리가 용이합니다.
자세히 보기: Metadata Guide | Change Plan API

5. 결제 응답 및 결제 링크 응답의 invoice_url 필드

결제 응답과 결제 링크 응답에 invoice_url 필드가 추가되어 각 결제와 연결된 송장에 직접 액세스할 수 있습니다.
{
  "payment_id": "pay_2IjeQm4hqU6RA4Z4kwDee",
  "status": "succeeded",
  "invoice_url": "https://dodopayments.com/invoices/inv_2IsUnWGtRKFLxk7xAQeyt",
  "amount": 9900,
  "currency": "USD",
  // ... other fields
}
사용 사례
  • 고객 커뮤니케이션: 고객에게 송장 링크 직접 전송
  • 회계 통합: 결제를 회계 소프트웨어의 송장과 연결
  • 셀프서비스 포털: 고객이 송장에 쉽게 접근할 수 있도록 허용
  • 기록 보관: 송장 문서에 대한 직접 참조 유지

Get Payment API

결제 응답 스키마 보기.

6. 할인 코드 이름으로 할인 유효성 검사 엔드포인트

내부 할인 ID 대신 코드 이름(예: “SAVE20”)으로 할인 코드를 검증하고 검색할 수 있는 새로운 API 엔드포인트. 결제 시 적용하기 전에 할인 적합성을 확인하세요.
// Validate a discount code before checkout
const discount = await client.discounts.getByCode('SAVE20');

console.log('Discount type:', discount.type);
console.log('Discount value:', discount.amount);
console.log('Valid until:', discount.expires_at);
이점
  • 결제 전 유효성 검사: 결제 세션을 만들기 전에 할인 코드 확인
  • 실시간 피드백: 고객에게 코드 유효 여부 표시
  • 오류 처리: 유효하지 않거나 만료된 코드를 조기 차단
  • 맞춤 할인 UI: 즉각적인 유효성 검사를 제공하는 할인 코드 입력 필드 구축

Get Discount by Code API

전체 엔드포인트 설명서를 확인하세요.

7. 고객, 할인, 라이선스 키에 대한 향상된 필터링 기능

고객, 할인 및 라이선스 키를 나열하기 위한 새로운 API 필터로 데이터를 프로그래밍 방식으로 더 쉽게 검색하고 관리할 수 있습니다. 고객 API 필터
필터설명
email고객 이메일로 필터링
name고객 이름으로 필터링(부분 일치, 대소문자 구분 없음)
created_at_gte이 타임스탬프 이후에 생성된 고객 필터링
created_at_lte이 타임스탬프 이전에 생성된 고객 필터링
// Find customers by name created in the last 30 days
const customers = await client.customers.list({
  name: 'John',
  created_at_gte: '2026-01-01T00:00:00Z'
});
할인 API 필터
필터설명
code할인 코드로 필터링(부분 일치, 대소문자 구분 없음)
discount_type할인 유형(퍼센트)으로 필터링
active활성 상태로 필터링(true = 만료되지 않음, false = 만료됨)
product_id제품 제한으로 필터링(해당 제품에만 적용되는 할인만)
// Find active percentage discounts for a specific product
const discounts = await client.discounts.list({
  active: true,
  discount_type: 'percentage',
  product_id: 'prod_123'
});
라이선스 키 API 필터
필터설명
customer_id고객 ID로 필터링
status라이선스 키 상태로 필터링(active, expired, disabled)
product_id제품 ID로 필터링
created_at_gte이 타임스탬프 이후에 생성된 라이선스 키 필터링
created_at_lte이 타임스탬프 이전에 생성된 라이선스 키 필터링
// Find active license keys for a specific product
const licenseKeys = await client.licenseKeys.list({
  status: 'active',
  product_id: 'prod_123'
});

8. 대시보드의 UI/UX 개선

이번 릴리스에는 보다 직관적이고 세련된 경험을 위한 대시보드 전반의 다양한 UI/UX 개선 사항이 포함되어 있습니다. 주요 내용
  • 향상된 탐색 및 레이아웃 일관성
  • 향상된 데이터 테이블 상호작용
  • 더 나은 로딩 상태 및 피드백
  • 정교한 시각적 디자인 요소
  • 향상된 모바일 반응성