我知道我可以设置client_reference_id
结帐会话,但我需要根据以下 webhook 事件中的条纹数据来识别我的系统用户:
charge.succeeded
,customer.subscription.deleted
和charge.failed
但是那些事件没有存储任何内容client_reference_id
,似乎我可以简单地使用条纹客户 ID 将我的系统用户链接到条纹,而不管我处于哪个 webhook 事件中……
client_reference_id
然后,为了避免复杂性,我甚至会忽略结帐 webhook 上的管理,问题是:客户是否可以在条纹生命周期内删除其 ID(由客户或条纹而不是开发人员删除)或更改其 ID?
这是以下序列的任意排列:
(first_subscription > posterior payments > cancel subscription > resubiscribe
)
在订阅的整个生命周期内,即使取消订阅,也不会改变
customer.id
。请记住,客户与订阅紧密相关,因此,删除客户将导致取消其订阅。charge.succeeded
、customer.subscription.deleted
和charge.failed
没有的原因client_reference_id
是,该属性特定于 Stripe Checkout,而不是费用和订阅。作为依赖的替代方案,
customer.id
您可能想要考虑利用属性metadata
来存储相关客户信息。更具体地说,请查看下面链接的文档中的“间接设置元数据”部分。获取的另一种方法
client_reference_id
是遍历list
所有 Checkout 会话,遍历 Checkout 对象并查找client_reference_id
。请参阅下面链接的 API 参考指南。相关链接: