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

测试环境下Stripe invoice.payment_failed webhook未触发求助

解决invoice.payment_failed Webhook未触发的问题

关键排查与修复步骤

  • 确认付款重试周期状态:Stripe默认对付款失败的订阅会执行3次重试(间隔1天、3天、5天),invoice.payment_failed事件仅在所有重试都失败后才会触发。你使用的测试卡号4000000000000341会直接触发单次付款失败,但如果订阅仍在重试周期内,不会立刻发送该事件。可在Stripe Dashboard的「订阅」页面查看对应发票的状态,确认是否已完成所有重试流程。

  • 检查Webhook端点配置:

    • 确认端点已订阅invoice.payment_failed事件类型,在Stripe Dashboard的「Webhooks」->「端点详情」中可查看已启用的事件列表。
    • 验证端点状态为「已启用」,若多次返回非2xx状态码,Stripe会自动禁用端点,需重新启用并修复接收逻辑。
    • 用Stripe的「发送测试事件」功能,手动推送invoice.payment_failed测试事件,验证端点能否正常接收请求。
  • 查看Stripe事件日志:
    在Dashboard的「事件」页面搜索订阅相关记录,若仅看到payment_intent.payment_failed事件,说明当前处于单次付款失败状态,还未触发最终的invoice.payment_failed。

  • 调整重试设置以快速触发事件:
    若需立即测试invoice.payment_failed,可在创建订阅时通过API将重试次数设为0,这样第一次付款失败就会直接触发目标事件。示例代码:

    stripe.Subscription.create(
      customer="cus_xxx",
      items=[{"price": "price_xxx"}],
      payment_settings={
        "retry_settings": {
          "max_retries": 0
        }
      }
    )
    
  • 验证测试场景正确性:
    确保创建的是定期订阅(非一次性付款),且订阅已生成待付款发票(若有免费试用期,需确认试用期已结束并触发了首次付款尝试)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 21:52:05