- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们的用户可以输入卡来支付我们的服务费用。他/她可以选择保存或不保存卡以供重复使用。
当用户没有保存卡时,我们将创建一个 PaymentIntent 传递
[
'amount' => floatval($this->cart->total_gross) * 100,
'currency' => 'EUR',
'payment_method' => $this->pm,
'off_session' => true,
'capture_method' => 'manual',
'confirm' => true,
];
这是因为这是一笔付款的预授权,将在 2-3 天内捕获。
使用此配置我们收到以下错误
Stripe\Exception\MissingParameterException - 400 - The provided PaymentMethod is already attached to another object. You cannot reuse PaymentMethods without attaching them to a Customer object first.
需要明确的是:
pm_...
连同金额和不保存卡的指令一起发送到服务器(因此我们不会创建 Stripe 客户)\Stripe\PaymentIntent::create
方法这个错误是什么意思?为什么它说 PM 已经附加到另一个对象?哪个?属于哪一类?
我三次检查了我的代码,这是我们在收到来自前端的 pm 后进行的唯一 api 调用。
之前,前端只需使用 setupIntent 通过官方 stripe.js 调用来授权卡。因此,从 stripe.js 返回的 pm 被发送到我们的服务器,而不对其进行任何操作。而我们的服务器只是简单地调用了create方法,每次都会得到这个错误。
请求您帮助诊断和理解。
We're using latest official stripe-php versions
提前致谢
最佳答案
我终于收到了关于这个问题的官方回复。
简单地说:我们无法保存一张用于 of_session 付款的卡,然后在稍后使用该付款方式获取预授权金额
因此,我们修改了流程
用户选择或保存卡,我们通知用户我们必须保存该卡才能重复使用完成支付流程。
关于php - Stripe - 如何在不附加到用户的情况下创建 PaymentMethod?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58084575/
我是一名优秀的程序员,十分优秀!