如何支付给关联用户(将资金从关联用户的条带账户转移到他们的个人银行账户)?

How to payout to a connected user (move funds from connected user's stripe account to their personal bank account)?

当使用 Stripe Connect 的 'Express' 变体时,通过目的地费用,用户支付,付款在平台和连接的用户之间分配,余额将累积在连接用户的帐户中。资金将首先显示为 'pending',不久之后,资金将在连接用户的帐户中显示为 'available'。

假设支付时间间隔设置为manual,那么平台负责将资金从连接用户的条带账户转移到他们的实际银行账户,因此连接用户最终可以使用像普通钱一样的资金。

问题

平台如何将支付 'available' 资金从关联用户的条带账户转移到关联用户的实际银行账户?

到目前为止我发现了什么

根据Stripe docs,正确的代码应该是:

transfer = Stripe::Transfer.create({
  amount: 1000,
  currency: "usd",
  destination: "{{CONNECTED_STRIPE_ACCOUNT_ID}}",
})

这是正确的吗?

我怀疑可能不是的原因是:

  1. 因为据我所知,Stripe 术语中的 'transfer' 表示资金在 平台 关联账户之间流动 , not关联账户与关联用户的个人银行账户之间。

  2. 因为destination只能表示出资的stripe账户from的账号正在移动,那么为什么它会被称为 'destination' 如果它实际上与目的地

    相反

这两个问题引发了这个问题。

感谢您提出如此清晰明确的问题!

支出

直接回答核心问题,当关联账户配置为接收人工付款时,平台可以调用 /v1/payouts [1] 以便将资金从关联账户的可用余额转移到他们的外部账户。在 Ruby 中看起来像:

payout = Stripe::Payout.create({
  amount: 1000,
  currency: 'usd',
}, {
  stripe_account: '{{CONNECTED_STRIPE_ACCOUNT_ID}}',
})

使用转账提供的代码确实是将资金从平台账户转移到关联账户的方式,作为“单独收费和转账”集成的一部分 [2]。

由于您的系统正在使用 Express 账户和目的地费用(其中一部分费用使用 transfer_data[amount] 转移到关联账户),这是用于从平台到连接的帐户。

  1. https://stripe.com/docs/connect/manual-payouts#regular-payouts
  2. https://stripe.com/docs/connect/charges-transfers