我正在使用Stripe处理正在设置的订阅服务的付款。
我从我的客户那里收集相关信息,然后在服务器端,我使用Stripe PHP IDE来设置一个新客户,并为我设置为订阅的price
对象创建一个签出会话。我将结账会话ID保存到我的数据库中,然后使用相同的会话ID客户端通过重定向到Stripe从客户那里获得付款。
然后,webhookcheckout.session.completed
让我将上一个签出会话ID与订阅ID链接起来。然后,我需要第二个webhookcustomer.subscription.updated
从订阅ID中获取订阅的状态。
感觉我在这里做错了什么。我正在使用两个webhook来获取我需要的信息。如果checkout.session.completed
webhook在customer.subscription.updated
webhook之后到达,那么我的逻辑将失败。
有没有更好/正确的方法来管理这个流程?
这里只需要checkout.session.completed
。该事件表示结账和付款成功。
我将忽略初始customer.subscription.updated
事件,如果您需要该状态,则使用https://stripe.com/docs/api/subscriptions/retrieve当您收到checkout.session.completed
事件时。