Создать источник Stripe из выпуска токена

У меня есть файл Javascript, который я пытаюсь использовать для создания источника Stripe из токена Stripe. Чтобы затем иметь возможность отправить этот источник в мою форму, отправьте форму, а затем создайте плату из файла .php, в который отправляется форма.

У меня просто возникают некоторые трудности с этим, я не получаю никаких ошибок в моей консоли, и он создает токен и источник, как предполагалось. Однако данные никогда не отправляются в мою форму, так как страница никогда не перенаправляется и никакая плата не взимается.

Я не уверен, что именно мне не хватает для правильной работы.

Ниже прилагается изображение вывода консоли.

Создать источник Stripe из выпуска токена

Код, который у меня есть, показан ниже.

    Stripe.card.createToken({
            number: document.getElementById('cardNumId').value,
            cvc: document.getElementById('cvcID').value,
            exp_month: document.getElementById('expMonthId').value,
            exp_year: document.getElementById('expYearId').value
    }, stripeResponseHandler);

    var stripeResponseHandler = function(status, response) {

    if (response.error) {

        alert('Something went wrong, sorry!' + error);

    } else {

    var token = response.id;

    form.addEventListener('submit', function(event) {
        event.preventDefault();
    stripe.createSource(source, token).then(function(result) {
    if (result.error) {
      // Inform the user if there was an error
      alert('Something went wrong, sorry!' + error);
    } else {
      // Send the source to your server
      stripeSourceHandler(result.source);

    }
  });
  });

    function stripeSourceHandler(source) {

        // Insert the source ID into the form so it gets submitted to the server
        var form = document.getElementById('payment-form');
        var hiddenInput = document.createElement('input');
        hiddenInput.setAttribute('type', 'hidden');
        hiddenInput.setAttribute('name', 'stripeSource');
        hiddenInput.setAttribute('value', source.id);
        form.appendChild(hiddenInput);

        // Submit the form
        form.submit();

            }
        }
    };
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
461
1

Ответы 1

Я думаю, вам стоит прочитать это в документации Stripe: https://stripe.com/docs/stripe-js/elements/quickstart

Другие вопросы по теме