【问题标题】:Stripe later payment direct charges, create token error, The customer must have an active payment source attachedStripe later payment direct fee, create token error, The customer must have an active payment source attached
【发布时间】:2020-12-03 16:10:03
【问题描述】:

我正在尝试对 Node.js 中的连接帐户进行 Stripe 稍后付款直接收费。这一切都在使用 paymentMethods API 的测试模式中。

我创建了一个客户并使用 stripe.setupIntents.create() 附加了一种付款方式,并且能够在以后向我的 Stripe 帐户/平台付款而没有任何问题。但是,我想使用 stripe.paymentIntents.create() 直接向关联的帐户付款。

按照本指南https://stripe.com/docs/connect/cloning-saved-payment-methods,我的印象是我可以克隆一种用于我的平台的付款方式,并使用它为已连接的帐户进行直接付款。我尝试为客户创建令牌,但收到错误消息“客户必须附加有效的付款来源”。尽管客户拥有适用于我的平台的有效默认付款方式“pm_1HFjvsLIOnOaY98HTxPugN5i”。

const token = await stripe.tokens.create({customer: 'cus_HpOf9y6TJ5XYlA'}, { stripeAccount: 'acct_1HDuHbBwYBNGN1ir'}

我对本指南https://stripe.com/docs/payments/payment-methods/connect#cloning-payment-methods 感到更加困惑,这只是完成基本相同事情的另一种方法吗?或者我是否需要在已连接的帐户上创建新的付款方式,但这不会违背创建令牌的目的吗?

【问题讨论】:

    标签: node.js stripe-payments


    【解决方案1】:

    好问题!在您共享的 API 调用中,您只传递了 customer 参数。克隆支付方式需要同时传递 customerpayment_method,如下所示:

    const paymentMethod = await stripe.paymentMethods.create({
      customer: 'cus_HpOf9y6TJ5XYlA',
      payment_method: 'pm_1HFjvsLIOnOaY98HTxPugN5i',
    }, {
      stripeAccount: 'acct_1HDuHbBwYBNGN1ir',
    });
    

    对于付款方式,客户没有“默认来源”的概念 - 创建费用或共享付款方式时,您必须始终指定客户 ID 和付款方式 ID。例外情况是订阅,它将查看客户的 invoice_settings.default_payment_method 属性并将其用于订阅和发票付款。

    【讨论】:

    • 谢谢,这个解决方案对我有用,并且在 Stripe 支持下为我省去了很多麻烦。
    猜你喜欢
    • 2021-04-23
    • 1970-01-01
    • 2013-08-24
    • 2020-02-13
    • 2022-12-01
    • 2023-03-20
    • 1970-01-01
    • 2018-06-19
    • 2020-11-11
    相关资源
    最近更新 更多