You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Stripe订阅支付失败后,如何重新激活订阅权益及对应事件?

重新激活订阅权益的正确事件触发逻辑

当用户之前的付款失败、订阅权益被禁用后,你需要依赖以下两种核心事件来安全重新激活权益,优先级和可靠性如下:

首选事件:invoice.paid

这是最直接、最可靠的信号——当用户成功支付了之前失败的逾期账单时,Stripe会触发该事件。处理逻辑如下:

  • 拿到事件中的invoice.subscription关联用户的订阅记录,确认是之前标记为未付款的那笔订阅。
  • 将数据库里的subscriptionNotPaid字段更新为false。
  • 立即恢复用户的订阅权益,若之前因付款失败未正确延续订阅期限,可同步延长对应时长。

补充事件:customer.subscription_updated

如果用户的订阅状态从past_due(逾期未付)变回active(正常生效),这个事件会被触发。但需要额外判断订阅状态的变更原因:

  • 检查事件返回的订阅对象status字段是否变为active,且之前状态是past_due。
  • 确认状态变更是因为付款成功,而非其他操作(比如用户手动修改订阅计划)。

关键注意事项

  • 务必保证事件处理的幂等性:通过记录事件ID(event.id)避免重复处理同一事件,防止重复启用权益或多次延长期限。
  • 不要仅依赖订阅状态变更而忽略付款确认,invoice.paid是用户实际完成付款的铁证,比订阅状态变更更可靠。

内容的提问来源于stack exchange,提问作者Dudu Dudu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 15:14:54