条纹:更改信用卡号码?

bro*_*lio 1 php credit-card stripe-payments

我正在使用Stripe Payments,并希望为客户提供更改信用卡的可能性.参考https://stripe.com/docs/api#create_subscription - > source,我尝试了以下PHP代码:

        $customer = \Stripe\Customer::retrieve($client_id);

        $customer = \Stripe\Customer::create(array(
        "source" => $token) //the token contains credit card details
        );
Run Code Online (Sandbox Code Playgroud)

这很有效,但遗憾的是它还会无意中创建一个新的客户ID:

条纹仪表板

原始客户ID是cus_6elZAJHMELXkKI,我想保留它.

有没有人知道在不创建新客户的情况下更新卡的PHP代码?

非常感谢你提前!

PS:万一你需要它 - 这是最初创建客户和订阅的代码:

$customer = \Stripe\Customer::create(array(
    "source" => $token,
    "description" => "{$fn} {$ln}",
    "email" => $e,
    "plan" => "basic_plan_id")
 );

\Stripe\Charge::create(array(
  "amount" => 10000, # amount in cents, again
  "currency" => "eur",
  "customer" => $customer->id)
);
Run Code Online (Sandbox Code Playgroud)

bro*_*lio 9

我刚刚找到答案,也许它也可以帮助你的某个人:

您可以将旧卡替换为新卡,如下所示:

$customer = \Stripe\Customer::retrieve($client_id);
$new_card = $customer->sources->create(array("source" => $token));
$customer->default_source = $new_card->id;
$customer->save();
Run Code Online (Sandbox Code Playgroud)

  • 您好,感谢您提供此代码。我试过这个代码,但它不能代替旧卡。它的作用是存储新卡并将新卡设置为默认卡。旧卡仍在条纹客户的帐户中。 (2认同)