带状连接意图与直接充电

时间:2019-08-29 18:34:03

标签: stripe-payments

我正在尝试将direct-charge flow与已连接客户的费用从收费转移到支付方式。

我有处理stripe.createPaymentMethod的客户端代码并将付款方式ID发送到服务器。

我的服务器端代码如下:

  const intent = await stripe.paymentIntents.create(
                {
                    amount: parseInt(amount),
                    currency,
                    confirmation_method: 'manual',
                    confirm: true,
                    metadata,
                    payment_method: id,
                    customer: customerId,
                    off_session: true,
                },
                {
                    stripe_account: restaurantStripeAccountId,
                },
            );

我将stripe_account添加为关联客户的帐户-acct_xxxx

现在,在测试时,没有3D安全保护的卡可以正常工作-42424242... 但具有here4000000000003220这样的3D安全卡

我明白了:

Error: Your card was declined. This transaction requires authentication

在我的catch子句中,它甚至可以与客户端开始我的3D安全往返流程。

1 个答案:

答案 0 :(得分:1)

问题是off-session参数,当您传递此参数时,这意味着您要在不存在客户授权3DS的情况下创建费用,因此Stripe将尝试完成交易。

这显然会失败,因为该卡需要3DS。

在这种情况下,您需要通过off-session=false

要使off-session=true将来能正常运行,您需要通过

Setup这张卡
off-session=false,
setup_future_usage: 'off_session',

希望以上帮助