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. スタック割引コード
チェックアウトセッション、支払い、サブスクリプション、およびプラン変更では、1回のリクエストで最大20個の割引コードをdiscount_codes配列を介して受け入れるようになりました。コードは配列の順序で適用されます。最初の適用可能なコードは基本価格を引き下げ、2番目のコードはすでに割引された価格を引き下げます。このようにして、特別な組み合わせコードを作成せずにキャンペーンを積み重ねることができます。
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 値 | 効果 |
|---|
| 提供されていない場合 | 新製品に適用可能な場合、既存の割引がpreserve_on_plan_change=trueで保持されます |
[] (空の配列) | すべての既存割引がサブスクリプションから削除されます |
['CODE_A', 'CODE_B', ...] | 配列の順序で適用されるこのスタックセットに既存の割引を置き換えます |
レスポンスの形状
適用された割引の完全なセットは、支払いおよびサブスクリプションのdiscounts配列の下に返されます。各エントリにはdiscount_id、position、およびcycles_remaining(サブスクリプション用)が含まれています。レガシーの単一のdiscount_idフィールドは非推奨ですが、後方互換性のためにまだ存在しています。
単一のdiscount_codeフィールドは非推奨ですが、完全にサポートされています。既存の統合は変更なしで動作を続けます。これとdiscount_codesを同じリクエストで組み合わせることはできません。スタッキングと豊富なレスポンス形状を活用するために、便利なときにdiscount_codesへの移行をお勧めします。単一のコードであっても同様です。
詳細はこちら:割引コード | チェックアウトセッション | プラン変更
2. 7つの新しい顧客通知メール
払い戻し確認、サブスクリプションライフサイクルマイルストーン、および支払い失敗をカバーする7つの新しいトランザクションメールが自動的にあなたの顧客に送信されます。各メールは設定 → コミュニケーションの顧客メールセクションで独立して切り替えることができます。
オプトイン(デフォルトで有効)
| メール | 送信タイミング |
|---|
| 払い戻し成功 | 払い戻しが成功し、顧客に資金が戻る途中であるとき |
| サブスクリプショントライアル終了 | トライアルが終了し最初の請求が行われる約2日前 |
| サブスクリプションが即時キャンセルされた | サブスクリプションが即時にキャンセルされたとき |
| 次の請求日にキャンセルされるサブスクリプション | 現在の請求期間終了時にキャンセルが予定されたサブスクリプション |
オプトアウト(デフォルトで無効)
| メール | 送信タイミング |
|---|
| 支払い失敗 | 支払いの試行が失敗したとき — Dodo Paymentsが顧客に直接通知することを望む場合に有効にしてください、そうでない場合はあなた自身のシステムで処理します |
| サブスクリプション更新失敗 | サブスクリプション更新の支払いが失敗した場合に特定、更新支払いの一般的な支払失敗メールの代わりに発生します(追加ではなく代わりに) |
| 次回更新の通知 | サブスクリプションが更新される約2日前 |
顧客コミュニケーションをウェブフックで管理している場合、オプトアウトのメールを無効にして、同じイベントに対する重複した通知を顧客に送信しないようにします。
顧客メールは、あなたのチームに送信される通知メールとは別です。顧客メールを無効にしても、同じイベントに対するあなたのチームの通知には影響しません。
詳細はこちら:通信設定
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支払い方法
改善点
4. チェックアウト支払いページのオーバーホール
チェックアウトの支払いページは全体的に大幅に再構築され、レイアウトがよりタイトに、外観の読み込みが高速に、検証状態がより明確になり、カード入力のUXが改善されました。これらの変更により、グローバルトラフィック全体で観察されたチェックアウト成功率が約2〜3%向上しました。
変更点:
- スムーズなフィールド操作 — カードフォームでのオートフォーカス、タブ順序の改善、およびキーボードナビゲーションの向上
- クリーンなエラーおよび読み込み状態 — インライン検証が顧客が必要な箇所で正確に表示され、以前の全フォームエラーバナーパターンを置き換えています
- 高速な描画 — スケルトンとプログレッシブ水和により、遅いネットワークでの一瞬の空白状態のちらつきを排除
- モバイルポリッシュ — タップターゲット、スクロール動作、およびキーボード処理が、トラフィックの大部分が現在あるモバイルチェックアウト専用に調整されました
統合の変更は必要ありません。既存のチェックアウトセッションは自動的に新しい支払いページを採用します。
5. 製品フォームの再構築
製品の作成、編集、および複製フローが、単一の一貫したフォーム体験を中心にゼロから再構築されました。
ハイライト:
- ライブプレビュー — 編集中にチェックアウトおよび顧客ポータルにどのように製品が表示されるかをフォームと並んで確認
- 自動保存 — 下書きは自動保存されるため、移動したりタブを失ったりしても作業が失われません
- Markdown エディタ — 製品説明はライブレンダリング、リンクプレビュー、インライン形式制御を備えた完全なMarkdownエディタをサポート
- 複製フローの統一 — 製品を複製すると、ストリップダウンダイアログの代わりにプレフィルされた同じ統一フォームが開き、コピーの保存前にすべてのフィールドを調整可能
複製を使用して、既存の製品の地域または価格層のバリエーションを、説明、メタデータ、または履行設定を再入力せずに起動します。
6. ビジネス設定ページの再設計
設定 → ビジネスページは、設定がスキャンしやすく、更新が迅速に行えるよう再設計されました。設定がより明確なセクションにグループ化され、トグルを切り替える前にその影響を説明するコピーが追加されています。
既存の設定への動作の変更はありません — レイアウト、グループ化、および周囲の説明だけが改善されました。
改善点
credits_amountのオーバーライドがGETチェックアウトセッションおよび支払いリンクルートに正しく伝播されるようになりました — チェックアウトセッションまたは支払いリンクが各チェックアウトのcredit_entitlementsのオーバーライドで作成された場合、GET経由でそのセッションまたはリンクを取得すると、オーバーライドされた値ではなく製品レベルのデフォルトのcredits_amountが返されていました。これが修正されました。
- 完全に払い戻された支払いの場合、払い戻しアクションが無効化されました — 支払いが完全に払い戻された場合、払い戻しボタンは無効化され、理由を説明するツールチップが表示されます。以前は、ボタンはアクティブなままで、送信後にのみエラーが返されていました。
- プラットフォーム全体のマイナーバグ修正および安定性の向上