Laravel Cashier — откуда берется $ stripeToken?

документация на Кассе Laravel довольно расплывчато и пропускает некоторые очень важные детали, такие как то, что $stripeToken и откуда это?

Итак, чтобы создать новую подписку, мы делаем это:

$user->newSubscription('main', 'premium')->create($stripeToken);

Это первый раз, когда пользователь будет подписываться, так где же $stripeToken откуда именно?

В документах сказано:

Метод create, который принимает кредитную карту Stripe / токен источника,
начнется подписка, а также обновит вашу базу данных с
идентификатор клиента и другая соответствующая платежная информация.

Означает ли это, что мне нужно сначала создать объект клиента в Stripe, а затем передать идентификатор клиента в качестве $stripeToken? Здесь упоминаются данные карты, но как мне их передать? Какой формат и что я ожидаю взамен?

Если $stripeToken если в Stripe есть идентификатор клиента, то Cashier предполагает, что в Stripe уже созданы клиенты, которых у нас не будет в первый раз.

Может кто-нибудь пролить некоторый свет на это?

4

Решение

Оказывается, что stripeToken обычно генерируется формами stripe.js при отправке.

Поскольку я использую управляемые API-формы, а не стандартные формы отправки html, мне нужно использовать Stripe API для создания токена из предоставленных данных карты.

$stripeToken = Token::create(array(
"card" => array(
"number"    => $request->get('number'),
"exp_month" => str_before($request->get('expiry'), '/'),
"exp_year"  => str_after($request->get('expiry'), '/'),
"cvc"       => $request->get('cvc'),
"name"      => $request->get('name')
)
));

Тогда я использую $stripeToken->id и передать его:

$user->newSubscription('main', 'premium')->create($stripeToken->id);
1

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

Вы можете использовать Полоса JS чтобы получить stripeToken, но если вы используете пользовательскую форму, то вы можете использовать Полоса проверки метод.

Используя оба способа, вы получите stripeToken в javascript, а затем вам нужно будет передать этот токен вашему REST API для дальнейшей обработки.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector