使用Stripe Payout API将金额转入客户的银行帐户

时间:2018-04-19 12:36:46

标签: php stripe-payments stripe-connect

我正在为移动应用程序开发REST API的实现,该应用程序封装了以使用Stripe作为支付网关的点数相当于赚取积分的兑换功能。 为了实现这一目标,我使用Stripe支付API将金额直接转入目标银行账户。

以下是调用Stripe支付API的代码段

$payout=\Stripe\Payout::create(array(
  "amount" => 400,
  "currency" => "usd",
  "destination"=>$ID,/* ID of customer bank account ba_1CIZEOCHXaXPEwZByNehIJrY  */
  "source_type"=>'bank_account'
));

执行上面的代码片段后,我收到错误消息,作为对payout API调用的响应

  

银行帐户ba_1CIZEOCHXaXPEwZByNehIJrY未附加到此   条纹帐户。外部帐户只能附加到标准   通过仪表板进行帐户。

根据上述错误消息,似乎需要将相同的银行帐户附加到客户和连接的条带帐户,但我无法找到将客户的银行帐户作为外部帐户附加到商家的适当解决方案。 / p>

请建议我一个合适的解决方案。

2 个答案:

答案 0 :(得分:1)

实际上,您可以使用Stripe支出API向关联的Stripe帐户的银行帐户或借记卡发起付款。但是,您可以创建转帐,以将您的Stripe帐户中的资金转入关联的帐户。

https://stripe.com/docs/api/transfers/create

下面是php代码:

\Stripe\Stripe::setApiKey("sk_test_AjtBCFvy8Ah0x5vLmd5Ntemi");

\Stripe\Transfer::create([
  "amount" => 400,
  "currency" => "usd",
  "destination" => "acct_1CPuerJ18us5u9z6",
  "transfer_group" => "ORDER_95"
]);

我还搜索了条纹文档,以直接在第三方卡/银行帐户中转移付款,但没有找到任何东西。

答案 1 :(得分:0)

使用Stripe Connect,您可以使用Stripe-Account标题代表已关联的帐户发出API请求,如文档here所示。这适用于创建费用或付款以列出所有退款的任何API请求。

这显然假设您使用Stripe Connect,并且从您那里获得资金的人拥有自己的关联帐户。如果您希望能够控制其付款,还必须使用CustomExpress帐户。 Standard帐户不允许这样做。

代码如下所示:

$payout=\Stripe\Payout::create(array(
  "amount" => 400,
  "currency" => "usd",
  "destination"=> "ba_XXXX" // bank account id
),
array(
  "stripe_account" => "acct_XXXX" // id of the connected account
));

这显然假设您熟悉Stripe Connect并且正在积极使用它。这将是处理此问题的唯一方法,您可以阅读有关此功能的更多信息here