メインコンテンツへスキップ

新機能

1. Product Collections

顧客ポータル内で統合されたチェックアウト体験、プラン選択、スムーズなアップグレード/ダウングレードの流れを実現するために、関連する商品をまとめてグループ化します。
複数のプランオプションを表示するプロダクトコレクションのチェックアウトページ
主な利点
  • コレクションベースのチェックアウト:コレクション内のすべての商品を一つのチェックアウト画面に表示し、顧客が比較して希望のプランを選択できるようにします
  • 整理された商品管理:関連する商品(例: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. RevolutPay & Billie Payment Methods for GBP Currency

追加の決済オプションとして、RevolutPayおよびBillieがGBPの一回払い取引でグローバルに利用可能になり、顧客に柔軟な支払い方法を提供します。 新しい支払い方法
Payment MethodSupported CountriesCurrencySubscription Support
RevolutPayGlobalGBPNo (one-time only)
BillieGlobalGBPNo (one-time only)
  • RevolutPay – Revolutユーザー向けに高速かつシームレスなグローバル決済を提供
  • Billie – 企業が顧客に柔軟な支払い条件を提案できるB2B後払いソリューション
これらの支払い方法はGBP取引で自動的に利用可能です。追加設定は不要です。
詳細:Payment Methods

3. Checkout Session Preview

チェックアウトセッションを作成する前にプレビューして、正確な価格、税金、割引、および合計金額を計算します。顧客がチェックアウトに進む前に実際の価格を表示できます。 仕組み
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. Metadata Support in Change Plan Requests

サブスクリプションプランを変更する際にカスタムメタデータを渡し、プランの移行中に内部システムとの連携や追跡を強化します。
// 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レコードとの連携:プラン変更を営業活動に紐づけ
  • 内部カテゴリ分け:レポートや分析のためにプラン変更にタグ付け
  • 監査記録:誰がプラン変更を開始したかを記録
メタデータはWebhookイベントにも含まれ、カスタムデータでのプラン変更処理が簡単になります。
詳細:Metadata Guide | Change Plan API 支払いレスポンスおよび支払いリンクレスポンスに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. Validate Discount by Code Name Endpoint

割引の内部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. Enhanced Filtering Capabilities for Customers, Discounts, and License Keys

顧客、割引、ライセンスキーの一覧取得時に利用できる新しいAPIフィルターにより、プログラムからデータを簡単に検索・管理できるようになります。 顧客APIフィルター
FilterDescription
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フィルター
FilterDescription
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フィルター
FilterDescription
customer_id顧客IDでの絞り込み
statusライセンスキーのステータスでの絞り込み(activeexpireddisabled
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 Improvements in Dashboard

このリリースでは、ダッシュボード全体のより直感的で洗練された体験のために多数のUI/UXの改善が含まれています。 ハイライト
  • ナビゲーションとレイアウトの一貫性が向上
  • データテーブルの操作性が強化
  • ローディング状態とフィードバックが改善
  • ビジュアルデザイン要素が洗練
  • モバイル表示のレスポンシブ性が向上