Stripe - 转移时从哪里获得 source_transaction id?

Stripe - Where to get source_transaction id when making transfer?

我想从用户卡直接转账到关联账户。为此,我必须指出 source_transaction 字段。

await stripe.transfers.create({
          amount: amount,
          currency: "eur",
          destination: "{connected_account1}",
          transfer_group: "{ORDER1}",
          source_transaction: // How to get this information ?
        });

这是我从我的应用程序 (PaymentMethod) 获得的信息:

我需要做什么才能获得 source_transaction 我在 PaymentMethod 对象上获得的信息?

一个PaymentMethod对象表示用于支付的支付工具。例如,如果您收集银行卡详细信息,您将获得一张银行卡 PaymentMethod (pm_123),但它也可能用于 SEPA 借记卡或支付宝。这与 source_transaction.

无关

要向关联账户转账,您需要在 Stripe 上的平台账户余额中有资金。在您描述的流程中,您不会使用自己的余额,而是将转账与与已付款相关联的资金释放联系起来。

此流程称为单独收费和转账,并记录在案 here。在此流程中,您通过 PaymentIntent API 向客户收取 10 美元。然后你单独创建一个 Transfer 到连接的帐户,比如 8 美元。这里的source_transaction应该是支付后创建的Charge(ch_123)的id。

收费 ID 将在 PaymentIntentcharges 集合中,一旦成功,它始终是数组中的第一个收费(最近)。因此,如果您在名为 payment_intent 的变量中的内存中已经有一个 PaymentIntent,您将需要 payment_intent.charges.data[0].id 并且它将映射到 ch_123 以在 source_transaction 内部传递。