我正在网站上实施Stripe checkout,我想在checkout.session.complete上传递一些特定数据。 这是我尝试过的:
'mode' => 'payment',
'payment_intent_data' => [
'metadata' => [
'eventId' => $eventId,
],
],
但是我没有在网络挂钩中收到这些数据。我在做什么错了?
答案 0 :(得分:3)
payment_intent_data
被添加到结果PaymentIntent
对象中,而不是Checkout\Session
对象中。它不会出现在您发送的checkout.session.complete
Webhook数据中。
({PaymentIntent
的ID将是,因此,如果您愿意,可以在Webhook处理过程中请求该对象的数据。您也可以收集payment_intent.created
Webhook类型,但是您可以d必须将事实与会话关联起来。)
这里更简单的方法可能是在Checkout会话上设置client_reference_id
。此ID 是通过网络挂钩传回的,可以是您喜欢的任意字符串-它可以是会话或缓存键,可让您查找所需的元数据。