将 Stripe 结帐会话与订阅 Webhook 关联

Dom*_*Dom 3 php ide stripe-payments

我正在使用 Stripe 处理我正在设置的订阅服务的付款。

我从客户那里收集相关信息,然后在服务器端,使用 Stripe PHP IDE 设置新客户并为price我设置为订阅的对象创建结帐会话。我将结帐会话 ID 保存到数据库中,然后使用同一会话 ID 客户端通过重定向到 Stripe 向客户收取付款。

然后, webhookcheckout.session.completed让我将之前的结帐会话 ID 与订阅 ID 链接起来。然后我需要第二个 webhookcustomer.subscription.updated从订阅 ID 获取订阅的状态。

感觉就像我在这里做错了什么。我正在使用两个网络钩子来获取我需要的信息。如果checkout.session.completedwebhook 在 webhook 之后到达customer.subscription.updated,那么我的逻辑就会失败。

有没有更好/正确的方法来管理这个流程?

w1z*_*n1p 5

你只需要checkout.session.completed这里。该事件表明结帐和付款成功。

我会忽略初始customer.subscription.updated事件,相反,如果您需要该状态,请在收到事件时使用https://stripe.com/docs/api/subscriptions/retrievecheckout.session.completed获取订阅。