【问题标题】:The "client_reference_id" argument is not passed未传递“client_reference_id”参数
【发布时间】:2022-05-09 22:20:59
【问题描述】:

我使用 Stripe Checkout(Stripe 版本 2016-07-06),我想通过参数“client_reference_id”恢复个性化数据,但在 JSON 中我没有找到它,而我有金额或电子邮件例子。我在测试环境。你能帮我吗 ?提前谢谢你

$session = \Stripe\Checkout\Session::create([
  'client_reference_id' =>'TEST',
  'customer_email'       => 'email@ovh.fr',
  'payment_method_types' => ['card'],
  'line_items' => [[
    'name'        => 'My purchase',
    'amount'      => '1000',
    'currency'    => 'eur',
    'quantity'    => 1,
  ]],
  'success_url'   => 'https://www.loremipsum.fr',
  'cancel_url'    => 'https://www.loremipsum.fr',
]);

【问题讨论】:

  • 我认为这是您需要从数据库中获取的东西,一种您分配给客户端的唯一 ID。
  • 是的,正如上面的评论者所说,这是您需要生成的 id。此外,为了清楚您使用的是较旧的 api 版本,Checkout Sessions 与新版本的 Checkout 一起使用,该版本基于重定向/与 Stripe 的旧 Checkout 产品(弹出窗口)完全不同。 stripe.com/docs/payments/checkout

标签: php stripe-payments


【解决方案1】:

对于 Rails,它的工作原理如下:

class CheckoutController < ApplicationController

定义创建

cart = Cart.find(params[:id])
session = Stripe::Checkout::Session.create({
    payment_method_types: ['card'],
    line_items: [{
        description: "Your product description",
        name: "Name",
        amount: 1999,
        currency: 'eur',
        quantity: 1,
    }],
    
    client_reference_id: cart.id,
    mode: 'payment',
    success_url: root_url,
    cancel_url: root_url,
})

redirect_to session.url, allow_other_host: true

结束

结束

【讨论】:

    猜你喜欢
    • 2019-02-06
    • 1970-01-01
    • 2014-02-15
    • 2011-12-09
    • 2015-12-18
    • 2013-01-10
    • 2013-07-21
    • 2020-10-24
    • 1970-01-01
    相关资源
    最近更新 更多