Stripe Webhook 事件 - 匹配客户 ID?
Posted
技术标签:
【中文标题】Stripe Webhook 事件 - 匹配客户 ID?【英文标题】:Stripe Webhook Events - Matching Customer IDs? 【发布时间】:2021-06-11 08:24:07 【问题描述】:我正在使用stripe listen --forward-to ...
在本地测试订阅产品并触发事件。我相信我的端点设置正确,因为它可以侦听和接收事件。
问题:事件中的客户 ID 不匹配。
例如customer.created
中的id是cus_J6l***Yu0
customer.subscription.created
中的id是cus_J6l***yVb
另外,customer.subscription.created
和 customer.subscription.updated
中的订阅 ID 不匹配。分别为sub_J6l***ikY
和sub_J6l***ufT
。
我不清楚如何将这些事件相互关联。在生产环境中,我可以让许多不同的客户同时创建订阅。我的期望是有一个键可以关联客户和他们创建的订阅(或订阅和订阅更新)。
【问题讨论】:
【参考方案1】:每个Subscription
完全由一个Customer
拥有,请参阅https://stripe.com/docs/api/subscriptions/object#subscription_object-customer。但是,Customer
可以有一个或多个Subscription
,这可能解释了为什么您会看到订阅 ID 不同,即针对不同的Subscription
触发事件但针对相同的Customer
。要查看给定Customer
的Subscriptions
的完整列表,请参阅https://stripe.com/docs/api/customers/object#customer_object-subscriptions(注意这是一个expandable
字段)。
【讨论】:
这个答案是正确的。一个客户拥有每个订阅,但一个客户可以拥有多个订阅。 ID 会匹配,只是飞行中的对象比预期的要多。以上是关于Stripe Webhook 事件 - 匹配客户 ID?的主要内容,如果未能解决你的问题,请参考以下文章
如何在Stripe PHP和webhook中使用好事件,比较收到的付款数量并取消订阅
为啥 Stripe 事件不会触发并且不会被 webhook 接收?
Stripe webhook 错误:未找到与有效负载的预期签名匹配的签名