【问题标题】:How to payout to a connected user (move funds from connected user's stripe account to their personal bank account)?如何支付给已连接用户(将资金从已连接用户的条带账户转移到他们的个人银行账户)?
【发布时间】:2021-05-24 15:39:45
【问题描述】:

当使用 Stripe Connect 的“Express”变体,使用目的地费用时,用户付款,付款在平台和连接用户之间分摊,余额将在连接用户的帐户中累积。资金将首先显示为“待处理”,不久之后,资金将在关联用户的帐户中显示为“可用”。

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

问题

平台如何将支付“可用”资金从连接用户的条带账户转移到连接用户的实际银行账户?

到目前为止我发现了什么

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

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

这是正确的吗?

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

  1. 因为 AFAIK 在 Stripe 命名法中的“转移”是指平台关联账户之间的资金流动,不是 在已连接帐户和已连接用户的个人银行帐户之间。

  2. 因为destination 只能表示正在转移资金的条带帐户来自的帐号,所以为什么要称为“目的地”?实际上与目的地相反

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

【问题讨论】:

  • 按照这些文档中的说法创建转账是正确的,因为文档假定连接的帐户处于自动付款状态。在这种情况下,您需要做的就是转账,资金最终会得到支付。人工付款则不同。

标签: ruby-on-rails stripe-payments


【解决方案1】:

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

支出

为了直接回答核心问题,当关联账户被配置为接收手动支付时,平台可以拨打/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

【讨论】:

    猜你喜欢
    • 2017-07-18
    • 2015-10-20
    • 2016-12-04
    • 2020-08-11
    • 2017-03-21
    • 2017-12-29
    • 2022-01-14
    • 2014-08-27
    • 2019-06-17
    相关资源
    最近更新 更多