我应该在哪个条带事件上更新我的数据库以授予订阅者访问权限
At which stripe event should I update my db to grant subscriber access
我有一个使用 Stripe 进行订阅的 SaaS MERN 应用程序。我正在使用 Stripe 的新结账功能来处理所有付款。我安装了 stripe CLI 以查看进行订阅时发生的事件。我有几个关于发出的事件以及如何在我的 stripe webhook 中处理它们的问题。
下面哪个事件表明支付成功,我可以更新我的数据库。
为什么payment_intent.succeeded
出现在payment_intent.created
之前。
为什么会发生 customer.subscription.updated
事件(我假设它应该只是第一次购买时应该发生的 customer.subscription.created
事件)
我在我的 webhook 中使用 customer.subscription.updated
事件来允许客户打开和关闭自动续订。因为 customer.subscription.updated
事件也在订阅时的初始付款时被触发,所以我如何区分在这两种情况下触发相同事件时要做什么。
这不是那么重要,但如果有人知道底部的 POST
错误是什么,我将不胜感激。 [编辑] 我通过将我的 res.status(200).json({received: true})
移到我的代码上方来解决这个问题。最初它被放置在我的 webhook 的最后,所以我认为它超时了。
谢谢:)
如果您特别想在成功付款时提供订阅,那么您应该收听 payment_intent.succeeded
Stripe 不保证 webhook 事件的顺序,可能会乱序接收它们:https://stripe.com/docs/webhooks/best-practices#event-ordering
订阅的 status
将被更新以显示最新的发票已成功支付,这会触发和更新事件
您可能想改用 invoice.upcoming
:https://stripe.com/docs/api/events/types?lang=java#event_types-invoice.upcoming
你必须在你这边调试它才能看到它来自哪里。看起来您的本地服务器可能不是 运行,因此 Stripe CLI 无法转发 webhook 事件。
我有一个使用 Stripe 进行订阅的 SaaS MERN 应用程序。我正在使用 Stripe 的新结账功能来处理所有付款。我安装了 stripe CLI 以查看进行订阅时发生的事件。我有几个关于发出的事件以及如何在我的 stripe webhook 中处理它们的问题。
下面哪个事件表明支付成功,我可以更新我的数据库。
为什么
payment_intent.succeeded
出现在payment_intent.created
之前。为什么会发生
customer.subscription.updated
事件(我假设它应该只是第一次购买时应该发生的customer.subscription.created
事件)我在我的 webhook 中使用
customer.subscription.updated
事件来允许客户打开和关闭自动续订。因为customer.subscription.updated
事件也在订阅时的初始付款时被触发,所以我如何区分在这两种情况下触发相同事件时要做什么。这不是那么重要,但如果有人知道底部的
POST
错误是什么,我将不胜感激。 [编辑] 我通过将我的res.status(200).json({received: true})
移到我的代码上方来解决这个问题。最初它被放置在我的 webhook 的最后,所以我认为它超时了。
谢谢:)
如果您特别想在成功付款时提供订阅,那么您应该收听
payment_intent.succeeded
Stripe 不保证 webhook 事件的顺序,可能会乱序接收它们:https://stripe.com/docs/webhooks/best-practices#event-ordering
订阅的
status
将被更新以显示最新的发票已成功支付,这会触发和更新事件您可能想改用
invoice.upcoming
:https://stripe.com/docs/api/events/types?lang=java#event_types-invoice.upcoming你必须在你这边调试它才能看到它来自哪里。看起来您的本地服务器可能不是 运行,因此 Stripe CLI 无法转发 webhook 事件。