我正在网站上实现 Stripe checkout,我想在 checkout.session.complete 上传递一些特定数据。 这是我尝试过的:
'mode' => 'payment',
'payment_intent_data' => [
'metadata' => [
'eventId' => $eventId,
],
],
但是我的网络钩子中没有收到这些数据。我做错了什么?
payment_intent_data
被添加到生成的PaymentIntent
对象,而不是CheckoutSession
对象。它不会出现在发送给您的checkout.session.complete
Webhook 数据中。
(PaymentIntent
的 ID 将是,所以如果你愿意,你可以请求该对象的数据作为你的 webhook 处理的一部分。您还可以收集payment_intent.created
webhook 类型,但您必须在事后将其与会话相关联。
这里更简单的方法可能是在结帐会话上设置client_reference_id
。此 ID通过 webhook 传回,可以是您喜欢的任何任意字符串 - 它可以是会话或缓存键,可让您查找要查找的元数据。