条纹签出:在创建Session对象时传递元数据,并在checkout.session.completed事件中接收它

时间:2019-10-11 09:54:04

标签: php stripe-payments

我正在网站上实施Stripe checkout,我想在checkout.session.complete上传递一些特定数据。 这是我尝试过的:

'mode' => 'payment',
'payment_intent_data' => [
    'metadata' => [
        'eventId' => $eventId,
    ],
 ],

但是我没有在网络挂钩中收到这些数据。我在做什么错了?

1 个答案:

答案 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 是通过网络挂钩传回的,可以是您喜欢的任意字符串-它可以是会话或缓存键,可让您查找所需的元数据。