如何为现有Stripe客户创建费用并将费用与该客户相关联?

时间:2018-01-12 19:08:07

标签: stripe-payments

对不起,如果这是一个愚蠢的问题,但我无法在任何地方找到明确的答案。我的系统目前正在设置,有人在我的网站上注册,我立即在Stripe中创建了一个客户(还没有支付,我只是将他们的信息放在我的数据库中并在Stripe中创建一个客户)。

所以稍后,我为我的用户提供了为他们的月度服务进行一次性付款的机会(注意:他们不是订阅,他们只是愿意每月支付而无需注册订阅/自动付款)。我想将他们的付款与Stripe中已有的客户联系起来。这是可能的,还是我做错了流程?

我尝试在下面添加“id”行(认为它会将费用与现有的Stripe客户联系起来),但它引发了错误。

$charge = \Stripe\Charge::create(array(
  "amount" => $_SESSION['stripeprice'],
  "currency" => "usd",
  "description" => "Payment for " . $_SESSION['frequency'],
  "receipt_email" => $_SESSION['email'],
  "source" => $token,
  "id" => "cus_C7m7BYvF6Mr0Do"
));

任何信息都会受到赞赏,因为我正在试图弄清楚如何将未来的NON订阅付款分配给现有的Stripe客户,或者如果不是它应该如何工作(也许我认为它错了) )

1 个答案:

答案 0 :(得分:3)

使用"id"将费用附加到客户

,而不是"customer"

修改:如果同时提供了sourcecustomer,则必须将来源附加到该客户https://stripe.com/docs/api/php#attach_source。如果只提供customer,Stripe将使用该客户的默认来源,您可以通过使用源令牌更新客户来执行此操作 https://stripe.com/docs/api/php#update_customer