1 回答
TA贡献2019条经验 获得超9个赞
当您处理针对客户 ( ) 的付款时stripe.Charge.create
,这会将资金添加到您的平台帐户的余额中。资金最初有pending
一段时间(https://stripe.com/docs/payouts#standard-payout-timing)。
调用 /v1/transfers ( stripe.Transfers.create
) 尝试从您的余额中提取资金available
并将其转移到目标 Stripe 帐户。如果你没有available
余额,它就会失败,这里很可能就是这种情况。
如果您的平台采用每日自动支付(默认设置),您实际上永远不会有available
余额。那是因为 Stripe 会将资金直接从您的pending
余额转移到您的支出中,这样您就可以尽快拿到这笔钱,这是大多数账户想要的(作为具有这种资金流的 Connect 平台,您更先进一些)。
如果您想进行这种转移,我建议您按顺序执行以下操作:
如果客户付款与关联账户付款之间的“延迟”(例如,提供服务需要多长时间)少于 7 天,您可以只使用目的地费用(https:// stripe .com/docs/connect/destination-charges)与 auth-and-capture(https://stripe.com/docs/payments/capture-later)。与单独收费和转账相比,工作量要少得多,而且您不必考虑太多余额。
否则,您将需要:
source_transaction
调用时使用stripe.Transfer.create
: https: //stripe.com/docs/connect/charges-transfers#transfer-availability。这样一来,转账就可以立即成功,收到费用中的资金将在可用时转移到关联账户。或者,将您的平台设置为手动支付: https://dashboard.stripe.com/settings/payouts 随着时间的推移,您将从
available
您的支付中积累余额。然后,您可以直接从该余额进行转账,就像您在问题中分享的 API 调用一样。在测试模式下,您可以使用特殊的测试卡来模拟余额,available
而无需等待几天。
为什么我在尝试 Stripe Transfers 时出现“资金不足”,即使我在我的账户中添加了 TEST 模式资金?
最重要的问题是——这是一种正确的方法还是应该以不同的方式处理整个过程?
这种模型(有一个市场,平台的每个用户都有一个 Stripe 客户和一个与之相关联的 Stripe 帐户,您将它们绑定在一起)很正常,但构建起来很棘手。同样,您实际上只是在构建标准的“单独收费和转账”集成:https://stripe.com/docs/connect/charges#separate-charges-transfers但您正在构建 Stripe 上最复杂的东西之一(Custom Connect + 单独收费和转账)所以这是一项艰巨的任务。
我会尝试通过使用目的地费用来尽可能简化它,除非你绝对不能,并使用 Express 或 Stripe 的自定义帐户托管入职(https://stripe.com/docs/connect/connect-onboarding)除非你真的需要白标这个。
此外,您应该使用 PaymentIntents( https://stripe.com/docs/payments/accept-a-payment ) 作为支付部分,而不是Charge.create
Tokens,因为它们不支持在欧洲很重要的 3D Secure,但是仅使用它们来测试事物的连接方面也许没问题。
添加回答
举报