Skip to main content
Payment Retries 会按退避计划自动重新收取失败的订阅续费付款。重试成功后,订阅会恢复为 active,无需客户采取任何操作,也无需进行集成工作。

什么是付款重试?

当订阅续费付款失败时,订阅会转为 on_hold;如果你设置了宽限期,则会转为 past_due。启用 Payment Retries 后,Dodo Payments 会按计划使用客户已保存的付款方式重新收款,直到收款成功或恢复窗口关闭。 重试可以挽回因临时故障而损失的收入,例如卡片被临时冻结、客户稍后充值导致的资金不足,或短暂的网络错误。客户不会收到电子邮件,也无需进行任何操作。
Payment Retries 仅适用于订阅续费付款。订阅的首次付款(mandate setup)、一次性付款、套餐变更费用和按需费用不会重试。

付款重试如何工作

1

Renewal fails

订阅续费付款失败,订阅会转为 on_hold;在宽限期内则会转为 past_due。
2

Retryability check

Dodo Payments 会检查失败的错误代码。Soft declines,例如资金不足、一般性拒付或处理错误、网络错误,可以重试。Hard declines 会结束重试链,因为再次尝试不会改变结果。没有错误代码的失败会被视为 hard decline。
3

Scheduled retry

如果拒付可以重试,且下一次尝试处于恢复窗口内,Dodo Payments 就会安排该次尝试。每次重试都会对客户已保存的付款方式执行 off-session 收款,并且每次延迟时间都从上一次失败开始计算。
4

Recovery

首次重试成功后,订阅会恢复为 active,下一个账单日期会顺延至成功重试后一个计费周期。如果恢复窗口在任何一次重试成功前关闭,重试会停止,订阅会保留当前状态,例如 on_hold。

配置付款重试

在控制面板的 Settings → Recovery 中开启并配置 Payment Retries。
恢复设置页面,启用付款重试切换开关,恢复窗口(天数)字段设置为13

Payment Retries settings under Settings → Recovery

该页面有两个设置: 恢复窗口从失败续费对应的发票创建时开始计算。只有当截至某次尝试的所有延迟总和处于窗口范围内,并且窗口仍处于开放状态时,Dodo Payments 才会安排该次尝试。

重试计划

重试间隔会逐步延长。只要每次尝试都处于恢复窗口内,Dodo Payments 最多会执行 8 次尝试:
默认的 13 天窗口涵盖第 1 至第 5 次尝试,因为第 5 次尝试会在失败约 10.5 天后执行。要执行后续间隔更长的尝试,请延长窗口:第 6 次至少需要 16 天,第 7 次至少需要 23 天,第 8 次则需要最长的 30 天。

订阅状态转换

重试会使订阅在以下状态之间转换:
订阅取消后,其重试链会结束,不再进行后续尝试。其他所有状态(on_hold、past_due、expired、pending、failed)都会继续重试,因为未结清的续费发票对应的是客户已经使用过的期间,属于客户欠款。如果发票通过其他方式支付,例如客户更新了付款方式,或者你将客户添加到阻止列表,重试也会停止。
这些转换会发出标准的订阅 webhook 事件,因此你的权益逻辑无需针对重试进行特殊处理:

Subscription Webhook Payloads

查看订阅生命周期事件的完整 webhook payload schema。

可重试与不可重试的失败

最近一次失败的错误代码决定重试链是否继续:
重试 hard decline 不会改变结果,因此一旦发生 hard decline,重试链就会立即结束。在这些情况下,将 Payment Retries 与Subscription Dunning结合使用,以要求客户提供新的付款方式。有关每个代码的类型,请参阅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

通过恢复电子邮件挽回被放弃或失败的结账。

Subscriptions

恢复流程在这些订阅状态之间转换。

Subscription Webhooks

响应 subscription.on_hold 和 subscription.active 事件。
最后修改于 2026年9月26日