gpt4 book ai didi

stripe-payments - 使用 customer.subscription.update 而不是 invoice.paid 和 invoice.payment_failed 事件 webhooks 来处理 Stripe 订阅

转载 作者:行者123 更新时间:2023-12-05 01:29:22 29 4
gpt4 key购买 nike

我正在尝试使用 Stripe 构建一个包含三到四个不同计划的简单订阅网站。

在应用程序中,当用户注册时,会分配一个 Stripe 客户 ID。然后,在订阅计划时,我正在收听这些 webhook 事件:

customer.subscription.updated || customer.subscription.created

每次订阅发生变化时都会触发它们。然后我检查 status 属性,它会告诉我用户是否是 activeincompletetrialingcanceledpast_dueunpaid 并在我的数据库表中为用户采取相应行动。

这对我来说很有意义,但 Stripe 改用发票事件 webhooks ( https://stripe.com/docs/billing/subscriptions/checkout#provision-and-monitor ):

  • checkout.session.completed
  • invoice.paid
  • invoice.payment_failed

我应该改为监听这些事件吗?我不确定,因为,例如,当客户在计费周期中间更改计划时,发票事件不会跟踪,所以我必须添加 customer.subscription.updated webhook 无论如何。

最佳答案

这完全取决于您和您的集成需求(有很多不同的 webhook 事件,其中许多可以用于相同的目的)。通常,用户更关心知道何时实际支付续订发票,这就是为什么该指南建议将这些事件作为最低限度。如果您有一个每月向客户发送 cargo 的订阅,那么在发货前收听发票付款成功的确认更有意义。

也就是说,您绝对可以依赖 customer.subscription.updated 事件,但如果您需要,您还需要监听 invoice.paid/payment_failed 事件关心知道付款何时成功或想收到重试通知。以您的订阅续订且付款成功为例:

  1. 首先,您将收到 customer.subscription.updated 事件,表明计费周期已更改且发票草稿已创建(这还将发送 invoice.created 事件)。
  2. 一个小时后,发票最终确定并自动付款
  3. 您的 webhook 端点获得一个 invoice.paid webhook 事件,但没有另一个 customer.subscription.updated 事件,因为状态是事件的并且没有改变。

关于stripe-payments - 使用 customer.subscription.update 而不是 invoice.paid 和 invoice.payment_failed 事件 webhooks 来处理 Stripe 订阅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67840017/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com