stripe js создает клиента

#javascript #stripe-payments

#javascript #stripe-платежи

Вопрос:

Мне нужно создать нового клиента на stripe, используя их JS-клиент.

Кажется, я не могу найти способ его создания,

вот мой код:

 <script src="https://js.stripe.com/v3/"></script>
  

для загрузки скрипта на странице

затем в моем js-файле:

У меня есть:

 const stripe = Stripe(App.Config.stripeKey);

function createCustomer(){
    return Stripe.customers.create({email: $('#payment-form').data('email')}).then(function(result) {
        if (result.error) {
            const errorElement = document.getElementById('card-errors');
            errorElement.textContent = result.error.message;
            return new Promise((resolve, reject) => {
                reject(result.error.message);
            });
        } else {
            stripeCustomerTokenHandler(result.token);
            return new Promise((resolve, reject) => {
                resolve(result.token);
            });
        }
    })
}
  

Я также пробовал stripe.customers.create({...} (т. Е. Используя объект Stripe), но в обоих случаях я получаю Uncaught TypeError: Cannot read property 'create' of undefined

есть идеи?

Ответ №1:

Stripe.js имеет множество функций и функций, включая монтирование элементов карты и подтверждение платежей с использованием общедоступного ключа, но он не используется для прямого обращения к API.

Вызовы API для выполнения таких действий, как создание клиентов или PaymentIntents, должны выполняться из серверной части с помощью вашего секретного ключа. Ваш интерфейс может взаимодействовать с вашим внутренним сервером, используя вызовы RESTful, которые, в свою очередь, могут вызывать API для создания клиентов с сервера. Например, в node ваш серверный сервер может использовать этот вызов [1] .

 const stripe = require('stripe')('sk_test_xxx');

const customer = await stripe.customers.create({
  description: 'My First Test Customer (created for API docs)',
});
  

Пример интеграции, который иллюстрирует как использование внутреннего кода, так и Stripe.js подтвердить платеж можно здесь [2].

[1] https://stripe.com/docs/api/customers/create?lang=node

[2] https://stripe.com/docs/payments/accept-a-payment?integration=elements