条带手动确认 + 连接帐户失败 (confirmation_method + stripe_account)

stripe manual confirmation + connected account failing (confirmation_method + stripe_account)

我在 Laravel 项目中使用 Stripe 的 PHP SDK,我遇到了 3d 安全支付的奇怪问题。

PHP版本:7.4 条纹-PHP : 7.75.0

当使用 stripe_account 参数和 confirmation_method: 'manual' 参数在连接的条带帐户的 behlaf 上创建 PaymentIntent 时,总是会出现错误:

This PaymentIntent pi_XXXXXX cannot be confirmed using your publishable key because its confirmation_method is set to manual. Please use your secret key instead, or create a PaymentIntent with confirmation_method set to automatic.

这就是我创建意图的方式:

$paymentIntentParameters = array(
    'amount' => $priceAsCents,
    'currency' => 'eur',
    'payment_method' => $paymentMethodId,
    'confirmation_method' => 'manual',
    'confirm' => true,
);

$paymentIntent = StripePaymentIntent::create(
    $paymentIntentParameters,
    ['stripe_account' => $store->stripe_token]
);

我按照这里所说的一切:https://github.com/stripe-samples/accept-a-card-payment/tree/master/without-webhooks

我遇到的情况是 webhook 对我不起作用,confirmation_method: 'automatic' 也不起作用,因为确认是在前端完成的,我们只想要在后端确认。

有什么快速解决方法吗?

为了执行服务器端(手动)确认,您要遵循this doc。具体来说,不是在前端使用 handleCardPayment,而是在前端使用 createPaymentMethod,在后端使用带有 PaymentIntent 的生成的 PaymentMethod,然后在后端进行确认。链接的文档显示了确切的步骤。

对于 3d 安全,您需要添加 handleCardPayment