我正在使用stripe connect api
将资金转帐到其他银行帐户。我创建了managed account
并为该帐户指定了银行。
现在我为该客户帐户创建了转帐。
我收到了这个错误:
type: "invalid_request_error"
message: "Cannot create live transfers; please switch to manual transfers"
代码:
$transfer = \Stripe\Transfer::create(array(
"amount" => 100,
"currency" => "usd",
"destination" => 'acct_xxxx',
"application_fee" => 5,
"description" => 'Some desc'
));
请提出任何建议。
答案 0 :(得分:1)
正如Matthew在评论中提到的,如果要创建到已连接帐户的转帐,则需要切换到手动转帐。这是在您帐户的Transfer设置中完成的。
这是因为默认情况下,Stripe会每天自动将您的资金转移到您的银行帐户(如果您更改了,则会转移到其他时间表)。这意味着您的帐户中永远不会有资金等待转移。
如果您切换到手动转帐,当资金清算时,Stripe会自动将您帐户中的待付余额添加到可用余额中。这是在美国成功收费后2天发生的。这将允许您创建手动传输。
如果您使用Stripe Connect,则不需要以这种方式向您的关联帐户发送资金。这在Special-case Transfers的文档中有所说明:
另一个有用的经验法则是,随着时间的推移,传输API应该小于总体积的10%。低于此数量并不能保证您符合要求,但不太可能允许使用超过该数量的用例。
相反,您需要代表已连接用户的费用。这是通过在收费时间告诉Stripe谁应该是资金的接收者来完成的。您可以在acct_XYZ
parameter中传递已关联帐户的ID [{1}},也可以在已关联帐户中设置费用directly。 documentation中详细介绍了这一点。