条纹付款'client_reference_id'

时间:2020-09-11 16:11:10

标签: stripe-payments

我正在与Stripe Payment Gateway(API的最新版本)集成。

所有工作都与'client_reference_id'无关,不会传递给Webhook或事务(不会出现在日志中)-我需要这样做来更新数据库中的订单。

我的代码是:

$session = \Stripe\Checkout\Session::create([
            'billing_address_collection' => 'required',
            'payment_method_types' => ['card'],
            'line_items' => [[
                'amount' => 1011,
                'currency' => 'GBP',
                'name' => 'Purchase',
                'description' => 'test',
                'quantity' => 1,
            ]],
            'client_reference_id' => 'TEST1111223',
            'mode' => 'payment',
            'success_url' => 'https://example.com/success',
            'cancel_url' => 'https://example.com/cancel'
        ]);

根据文档,应将其传递:https://stripe.com/docs/api/checkout/sessions/create

我做错什么了吗?

其他人问了同样的问题,但没有得到回答:The "client_reference_id" argument is not passed

2 个答案:

答案 0 :(得分:0)

引用Checkout会话的唯一字符串。这可以是客户ID,购物车ID或类似名称。它包含在checkout.session.completed Webhook中,可用于完成购买。

来源https://stripe.com/docs/js/checkout/redirect_to_checkout

答案 1 :(得分:0)

我做了一些挖掘,我想我知道发生了什么事。您的客户参考还不错,但是您可能不会同时收听这两个Web钩子(例如,如果您使用的是Stripe Connect,则两个钩子上都可能收到欺骗性的事件)。

我会为该客户引用使用真正唯一的ID,这样一来您就不会出现内容混合的情况。该v4功能的运行非常出色。

auth_token