Полоса: изменить номер кредитной карты?

Я использую Stripe Payments и хотел бы предоставить клиентам возможность поменять свою кредитную карту. Ссылаясь на https://stripe.com/docs/api#create_subscription -> Исходник, я попробовал следующий PHP-код:

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

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

Это работает, но, к сожалению, непреднамеренно создает новый идентификатор клиента:

Полоса приборной панели

Исходный идентификатор клиента был 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)
);

1

Решение

Я только что нашел ответ, может быть, это поможет кому-то из вас тоже:

Вы можете заменить старую карту новой:

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

Другие решения

Других решений пока нет …