将Stripe Checkout会话与订阅Webhook关联

时间:2020-08-05 21:46:07

标签: php ide stripe-payments

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

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

Webhook checkout.session.completed,然后让我将上一个结帐会话ID与订阅ID链接起来。然后,我需要第二个Webhook customer.subscription.updated才能从订阅ID中获取订阅的状态。

感觉我在这里做错了。我正在使用两个webhook来获取所需的信息。如果checkout.session.completed Webhook在customer.subscription.updated Webhook之后到达,那么我的逻辑将失败。

是否有更好/正确的方法来管理此流程?

1 个答案:

答案 0 :(得分:3)

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

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