【问题标题】:stripe connect intent with direct charge条带连接意图与直接充电
【发布时间】:2019-08-29 18:34:03
【问题描述】:

我正在尝试将direct-charge flow 的收费从与连接客户的支付意图迁移。

我有处理stripe.createPaymentMethod 并将paymentMethodId 发送到服务器的客户端代码。

我的服务器端代码如下所示:

  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... 但是具有 3D 安全性的卡片,例如来自 here4000000000003220

我明白了:

Error: Your card was declined. This transaction requires authentication

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

【问题讨论】:

    标签: stripe-payments


    【解决方案1】:

    问题是off-session参数,当你传递这个参数时,意味着你想在客户不在场的情况下创建一个收费来授权3DS,因此Stripe会尝试完成交易。

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

    在这种情况下,您需要传递 off-session=false

    为了让off-session=true 在未来正常工作,您需要通过传递Setup 这张卡

    off-session=false,
    setup_future_usage: 'off_session',
    

    希望以上帮助

    【讨论】:

    • 谢谢。这解决了它 - 我的另一个问题是,对于这项工作,我必须在启动条带时在客户端添加连接的客户 accountId,如提到的 here 对我来说,当我在客户我需要提供这个,它是一个动态值,并且有机会。知道这是否是真正的解决方案,或者是否也有后端的方法可以做到这一点?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-27
    • 2019-11-27
    • 2013-01-26
    • 1970-01-01
    • 1970-01-01
    • 2017-10-16
    • 1970-01-01
    相关资源
    最近更新 更多