我正在使用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之后到达,那么我的逻辑将失败。
是否有更好/正确的方法来管理此流程?
答案 0 :(得分:3)
这里您只需要checkout.session.completed
。该事件表示结帐和付款成功。
我会忽略最初的customer.subscription.updated
事件,如果您需要该状态,请在收到checkout.session.completed
事件时使用https://stripe.com/docs/api/subscriptions/retrieve获取订阅。