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 を有効にして設定します。
Payment Retries settings under Settings → Recovery
回収期間は、失敗した更新の invoice が作成された時点で開始します。Dodo Payments は、その試行までのすべての遅延時間の合計が期間内に収まり、かつ期間がまだ有効な場合にのみ試行をスケジュールします。
再試行スケジュール
再試行の間隔は段階的に長くなります。各試行が回収期間内に収まる限り、Dodo Payments は最大 8回 試行します。サブスクリプションのステータス遷移
再試行により、サブスクリプションは次のステータス間を遷移します。サブスクリプションがキャンセルされると、再試行チェーンは終了し、それ以降の試行は行われません。その他のすべてのステータス(
on_hold、past_due、expired、pending、failed)では、再試行が継続されます。これは、未決済の更新 invoice が、顧客がすでに利用した期間に対する債務だからです。顧客が支払い方法を更新した後など、別の方法で invoice が支払われた場合や、顧客をブロックリストに追加した場合も、再試行は停止します。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 に対応します。