Stripe может хранить для вас способы оплаты. Это более безопасно, чем хранение такой информации в собственной базе данных.
Это краткое руководство поможет вам сохранить способ оплаты и связать его с зарегистрированным клиентом.
Установка полосы
Мы начнем с создания файла js, назовите его index.js. Установите Stripe, запустив:
npm i stripe
Создать экземпляр полосы
Внутри index.js мы создадим экземпляр Stripe с нашими тестовыми секретными ключами.
const stripe = require('stripe')('sk_test_key_here');
Сохранить способ оплаты
Далее мы напишем код для отправки запроса с данными карты в виде объекта.
const paymentMethod = await stripe.paymentMethods.create({
type: 'card',
card: {
number: '4242424242424242',
exp_month: 9,
exp_year: 2022,
cvc: '314',
},
});
console.log(paymentMethod)
Протестируйте приложение, запустив его:
node index.js
Вы должны увидеть ответ со свойством «ID». Значение этого идентификатора является уникальным идентификатором для этого способа оплаты.
Обратите внимание, что карта сохранена в вашей учетной записи Stripe, но она не связана ни с одним клиентом — нам нужно ее прикрепить.
Прикрепить сохраненный способ оплаты к пользователю
Вы можете разрешить пользователям повторно использовать свои способы оплаты для будущих транзакций. Вот как связать способ оплаты с клиентом.
Для этой функции вам потребуется указать идентификатор способа оплаты и идентификатор клиента.
const paymentMethod = await stripe.paymentMethods.attach(
paymentId,
{customer: customerId}
);
Вам нужно будет переписать свой код, чтобы передать эти идентификаторы в качестве параметров. Вот как бы я это сделал:
attachPaymentMethod = (customerID, paymentMethodID) => { return stripe.paymentMethods.attach( customerID, {customer: paymentMethodID} );
Наконец, вы можете вызвать эту функцию сразу после добавления способа оплаты.
attachPaymentMethod('customer-id-goes-here', 'pm-id-goes-here')
Спасибо за чтение и удачного кодирования!