Skip to main content
Payment Retries は、失敗したサブスクリプションの更新決済をバックオフスケジュールで自動的に再請求します。再試行が成功すると、サブスクリプションは顧客の操作も統合作業も必要とせず、active に戻ります。

Payment Retries とは?

サブスクリプションの更新決済が失敗すると、サブスクリプションは on_hold に移行します。猶予期間を設定している場合は、past_due に移行します。Payment Retries を有効にすると、請求が成功するか回収期間が終了するまで、Dodo Payments は保存済みの支払い方法に対してスケジュールに従って再請求します。 再試行により、カードへの一時的な保留、後から顧客がチャージする残高不足、一時的なネットワークエラーなど、一時的な失敗によって失われた収益を回収できます。顧客にメールは送信されず、顧客が何かを変更する必要もありません。
Payment Retries は、サブスクリプションの更新決済にのみ適用されます。サブスクリプションの初回決済(mandate setup)、one-time payments、プラン変更時の請求、オンデマンド請求は再試行されません。

Payment Retries の仕組み

1

Renewal fails

サブスクリプションの更新決済が失敗し、サブスクリプションは on_hold に移行します。猶予期間中は past_due に移行します。
2

Retryability check

Dodo Payments は失敗の error code を確認します。残高不足、一般的な decline、processing error、network error などのソフトディクラインは再試行できます。ハードディクラインは、再度試行しても結果が変わらないため、再試行チェーンを終了します。error code のない失敗はハードディクラインとして扱われます。
3

Scheduled retry

ディクラインが再試行可能で、次の試行が回収期間内に収まる場合、Dodo Payments はその試行をスケジュールします。各再試行は顧客の保存済み支払い方法に対する off-session charge となり、各遅延時間は直前の失敗時点から起算されます。
4

Recovery

最初の再試行が成功すると、サブスクリプションは active に戻り、次回の請求日は、再試行が成功した日から1請求期間後に移動します。再試行が一度も成功しないまま期間が終了すると、再試行は停止し、サブスクリプションは on_hold などのステータスを維持します。

Payment Retries の設定

ダッシュボードの Settings → Recovery で Payment Retries を有効にして設定します。
Recovery Settings page with the Enable Payment Retries toggle on and a Recovery window (days) field set to 13

Payment Retries settings under Settings → Recovery

このページには2つの設定があります。 回収期間は、失敗した更新の invoice が作成された時点で開始します。Dodo Payments は、その試行までのすべての遅延時間の合計が期間内に収まり、かつ期間がまだ有効な場合にのみ試行をスケジュールします。

再試行スケジュール

再試行の間隔は段階的に長くなります。各試行が回収期間内に収まる限り、Dodo Payments は最大 8回 試行します。
デフォルトの13日間の期間では、試行1〜5が対象になります。試行5は失敗から約10.5日後に実行されるためです。後半の間隔がより広い試行を実行するには、期間を延長します。試行6には少なくとも16日、試行7には少なくとも23日、試行8には上限の30日が必要です。

サブスクリプションのステータス遷移

再試行により、サブスクリプションは次のステータス間を遷移します。
サブスクリプションがキャンセルされると、再試行チェーンは終了し、それ以降の試行は行われません。その他のすべてのステータス(on_hold、past_due、expired、pending、failed)では、再試行が継続されます。これは、未決済の更新 invoice が、顧客がすでに利用した期間に対する債務だからです。顧客が支払い方法を更新した後など、別の方法で invoice が支払われた場合や、顧客をブロックリストに追加した場合も、再試行は停止します。
これらの遷移では標準のサブスクリプション webhook events が発生するため、entitlement ロジックで再試行専用の処理を実装する必要はありません。

Subscription Webhook Payloads

サブスクリプションのライフサイクルイベントに関する完全な webhook payload schema を確認できます。

再試行可能な失敗と再試行不可能な失敗

チェーンを継続するかどうかは、直近の失敗の error code によって決まります。
ハードディクラインを再試行しても結果は変わらないため、ハードディクラインが発生すると同時にチェーンは終了します。こうしたケースでは、Payment Retries とSubscription Dunningを組み合わせて、顧客に新しい支払い方法を求めます。各 code の種類については、Transaction Failuresを参照してください。

オンデマンドでの再試行

次のスケジュール済み試行を待つ必要はありません。サブスクリプションが on_hold の間は、ダッシュボードの失敗した決済の詳細ページから再試行を送信するか、POST /payments/{payment_id}/retry を使用できます。手動再試行はスケジュールとは独立して実行されます。自動試行の回数を消費したり、予定を移動させたりすることはなく、Payment Retries が無効でも機能します。Manual Payment Retryを参照してください。

Payment Retries と Dunning の比較

Payment Retries と Subscription Dunning は、異なる種類の失敗を回収します。 最も広範囲をカバーするには、両方を有効にします。自動再試行で一時的な失敗を捕捉し、Dunning で支払い方法の交換が必要な顧客を呼び戻せます。

関連情報

Manual Payment Retry

次のスケジュール済み試行を待たずに、すぐに再試行を送信します。

Subscription Dunning

顧客に支払い方法の更新を促すメールシーケンスです。

Abandoned Cart Recovery

回収メールで、放棄または失敗した checkout を回収します。

Subscriptions

回収フローによって遷移するサブスクリプションの状態です。

Subscription Webhooks

subscription.on_hold および subscription.active events に対応します。
最終更新日 2026年9月26日