【问题标题】:Stripe -- A way to transfer using source_transaction with paymentIntentsStripe——一种使用 source_transaction 和 paymentIntents 进行转账的方法
【发布时间】:2021-04-15 11:08:15
【问题描述】:

我正在尝试使用 PaymentIntents 获取客户付款,如果状态为 succeeded,请在使用 source_transaction 时创建转移到正确的条带连接帐户。

payment.id 在这种情况下是pi_1I7xsjL98Injb3kNT74IwMK8,我得到了错误No such charge: pi_1I7xsjL98Injb3kNT74IwMK8,这导致了resource_missing 错误。这是有道理的,因为我传递了一个 paymentIntents Id,但有没有办法在使用 paymentIntents 时使用source_transaction

下面是我在代码中所做的示例!

return stripe.paymentIntents.create({
            amount: data.amount,
            currency: data.currency,
            customer: stripeCustomerId,
            payment_method: data.paymentMethodId,
            off_session: false,
            confirm: true,
            confirmation_method: 'manual',
            setup_future_usage: 'off_session',
            // transfer_group: idempotencyKey
        }, { idempotencyKey })
    }).then(payment => {
       
        if (payment.status == 'succeeded') {        
            let transferPromises = []
            transferPromises.push(
                stripe.transfers.create({
                    amount: Math.ceil(payment.amount_received * 0.9),
                    currency: 'usd',
                    destination: creator.data().stripeConnectId,
                    source_transaction: payment.id,
                    // transfer_group: idempotencyKey,
                })
            )

【问题讨论】:

  • 如果你到达then,那么它是成功的——它会在失败的情况下抛出。我没有看到 - 你也没有指出 - 你在哪里得到这个错误,但这可能与你如何使用(或不使用)Stripe-Account 标头有关。您能否提供有关您在何处/如何获得错误的更多详细信息?
  • 你最终让它工作了吗?

标签: javascript firebase stripe-payments


【解决方案1】:

好的 找到答案了。 “当您获取 PaymentIntent 时,您会自动获取费用集合中的最新费用,因此您可以通过 pi.charges.data[0] 访问它。您还可以使用 List Charges API,然后获取所有相关费用到给定的 PaymentIntent”。

https://github.com/stripe/stripe-ruby/issues/927

【讨论】:

    猜你喜欢
    • 2020-05-12
    • 2021-05-24
    • 1970-01-01
    • 2021-03-03
    • 2018-08-06
    • 1970-01-01
    • 2023-01-27
    • 2019-08-22
    • 2021-10-02
    相关资源
    最近更新 更多