将资金从一个条带帐户转移到另一个条带帐户

时间:2016-08-08 12:25:57

标签: php codeigniter stripe-payments stripe-connect

如何将资金从一个条带帐户转移到另一个条带帐户? 我正在关注here中的代码:

\Stripe\Stripe::setApiKey(PLATFORM_SECRET_KEY);
\Stripe\Transfer::create(array(
  'amount' => 1000,
  'currency' => "hkd",
  'destination' => {CONNECTED_STRIPE_ACCOUNT_ID}
));

但是得到了这个错误:

  

类型:Stripe \ Error \ InvalidRequest

消息:不足   Stripe帐户中的资金。在测试模式下,您可以为您的资金添加资金   通过创建一个可用余额(绕过您的待定余额)   以4000 0000 0000 0077作为卡号充电。你可以使用   / v1 / balance端点可查看条带平衡(更多信息)   详情请见stripe.com / docs / api #balance)。

但是在我需要转移的测试帐户中,大约有3000美元,但我仍然遇到上述错误。

请参阅:test-account-balance

2 个答案:

答案 0 :(得分:2)

通常,您只能将平台的帐户转帐到其中一个关联帐户(而不是相反)。

代表关联帐户接受付款时,您需要create the chargedirectly on the connected account(使用Stripe-Account header)或through the platform(使用destination参数)。在这两种情况下,您都可以使用application_fee参数(可选)从交易中删除。

如果您想在收费之外转移资金,这称为special-case transfer。顾名思义,这些转移只应在某些特定情况下使用,并受到一些限制 - 最重要的是,特殊情况转移的数量必须保持在平台处理的总体量的10%以下。

为了转移资金,资金必须可用。一般来说,当您接受收费时,收费的资金最初是等待"。经过一段时间(根据国家/地区和帐户的不同而有所不同),它们会变成“可用”状态。并且可以转移。

在测试模式下,您可以使用特殊测试编号4000 0000 0000 0077创建费用,以便资金立即可用。这样您就不必等待测试转移。

您可以使用"retrieve balance" API调用检查帐户余额的两个部分("待定""可用")的状态。

答案 1 :(得分:1)

这也发生在我身上。我的错误是我使用的是真密密钥。 你可以检查

  1. 您正在使用测试已连接的帐户ID(您必须连接 客户也处于测试模式。实时和测试连接的ID是 不同)。
  2. 您正在使用测试密钥进行测试。
  3. 使用卡号创建一个客户。 4000 0000 0000 0077并充电。使用此余额,您可以将金额转移到另一个帐户。