将附加字段传递给Laravel Cashier订阅

时间:2018-01-08 13:45:32

标签: php laravel stripe-payments stripe-connect laravel-cashier

我已经使用Laravel Cashier成功创建了订阅,但我对付款有疑问。

我的用例是我以订阅的形式从用户收集金额,然后在用户的特定操作之后,将一定金额进一步转移给供应商。 我正在使用手动转账支付,似乎它有我需要的一切(https://stripe.com/docs/connect/charges-transfers)。

但是,为了创建从一个Stripe帐户到另一个帐户的转帐,我必须分配一个字段" transfer_group"对我负责。由于我没有为我的订阅使用费用,但我没有使用收银员方法,我没有这个选项。

调查" newSubscription"的实施情况方法或"创建" Billable类中的方法我找不到任何可以通过它的方法。 这可以实现,还是我必须使用普通的Stripe SDK重新实现我的订阅?

这是我的订阅代码的样子:

$response = $customer->newSubscription($plan->name, $plan->plan_id)->create($request->token, [
  'email' =>  $user['profile']['email'],
  'description' => $user['profile']['biography'],
  'metadata' => [
     'name' => $user['profile']['name'],
      'uuid' => $request->uuid
   ]
]);

此处传递的所有这些选项都与Customer对象相关,而不是Charge。根据Stripe文档,我需要类似的东西:

$charge = \Stripe\Charge::create(array(
  "amount" => 10000,
  "currency" => "eur",
  "source" => "tok_visa",
  "transfer_group" => "{ORDER10}",
));

1 个答案:

答案 0 :(得分:1)

由于您无法在此处控制费用创建,因此您无法通过transfer_group。当您通过API创建传输时,您应该做的是传递source_transaction: "ch_XXXX"。这将确保转移与订阅相关的费用相关联,并符合Stripe的要求。

直接在条带文档here中记录。