Stripe 连接帐户 on_behalf_of 与 stripe-account 标头的付款意图

use*_*675 6 stripe-payments

我对在使用 Payment Intents API 时在标头中传递条带连接子帐户与使用 on_behalf_of 和 Transfer_data[destination] 作为 POST 表单的一部分之间的区别感到困惑。

对于付款意图 - 将子帐户作为标头传递不起作用,而使用“on_behalf_of”则有效

执行以下操作会导致 stripe 抱怨缺少客户帐户,尽管该客户是在主连接帐户上创建的:

curl https://api.stripe.com/v1/payment_intents \
-u sk_test_XXX: \
-X POST \
-d amount=2000 \
-d currency=usd \
-d customer=cus_FROMBEFORE
-d capture_method=automatic
-d confirm=true
-d payment_method=pm_FROM_ELEMENTS
-H "stripe-account: acct_XXXX"
Run Code Online (Sandbox Code Playgroud)

以下作品:

curl https://api.stripe.com/v1/payment_intents \
-u sk_test_XXX: \
-X POST \
-d amount=2000 \
-d currency=usd \
-d customer=cus_FROMBEFORE
-d capture_method=automatic
-d confirm=true
-d payment_method=pm_FROM_ELEMENTS
-d on_befalf_of=acct_XXXX
-d transfer_data[destination]=acct_XXX
Run Code Online (Sandbox Code Playgroud)

这两种方法之间有区别吗?或者我可以使用“on_behalf_of”而不用担心条纹费用/退款/信用卡对账单等,因为它们都应该位于子帐户而不是连接帐户下?

谢谢!

小智 7

您的第一个示例是创建直接费用,这意味着charge将在连接的帐户上创建并要求customer连接的帐户上存在(您也可以使用共享客户来使用customer平台帐户中的)。资金将直接进入关联账户,扣除Stripe的费用,并将您的交易费用取出并发送到您的平台。

另一方面,您的第二个示例是创建目的地费用,其中费用charge将存在于平台帐户中,并使用customer也位于平台帐户上的费用。在这种情况下,您的平台将收到资金,支付 Stripe 费用,然后您将所需的金额转入关联账户。

Stripe 的文档中也对这些选项进行了很好的总结。