Могу ли я добавить данные карты, не снимая средства с Stripe? - PullRequest
0 голосов
/ 16 марта 2019

Мне нужно, чтобы мои клиенты добавили информацию о своей кредитной карте, но я не хочу снимать с них деньги сразу.Есть ли способ, я могу добавить их данные для оплаты позже при использовании решения Checkout Stripes и просто сохранить их токен карты в первую очередь?

Я использую Laravel Cashier на сервере.

1 Ответ

1 голос
/ 16 марта 2019

Сначала вы должны создать жетон карты Stripe.Для этого есть два варианта:

  • На стороне клиента (рекомендуется), используя Stripe.js & Elements, сначала вы создаете элемент карты ( Объект Elements ), а затемвы создаете токен карты Stripe ( stripe.createToken () )
  • на стороне сервера ( Создаете токен карты ).Самый простой способ - установить официальную PHP-библиотеку Stripe с помощью composer require stripe/stripe-php, а затем использовать следующий фрагмент кода:
\Stripe\Stripe::setApiKey("{your_stripe_api_key}");

\Stripe\Token::create([
  "card" => [
    "number" => "{card_number}",
    "exp_month" => {card_expiration_month},
    "exp_year" => {card_expiration_year},
    "cvc" => "{card_security_code}"
  ]
]);

Получив этот токен, вы можете использовать Laravel Cashier для хранения Stripeтокен карты в базе данных и обновите информацию о карте в Stripe следующими способами:

$user->updateCard($token);
$user->updateCardFromStripe();

Дополнительные сведения об этих методах см. в разделе Обновление кредитных карт в документации Кассы Laravel.

...