从令牌发行创建Stripe源

时间:2018-08-05 20:19:38

标签: javascript php html token stripe-payments

我有一个Javascript文件,该文件试图从Stripe令牌创建Stripe源。为了能够将该源提交到我的表单,请提交表单,然后从提交表单的.php文件中创建费用。

我在执行此操作时遇到了一些困难,我的控制台没有出现任何错误,它按预期方式创建了令牌和源。但是,数据永远不会提交到我的表单,因为页面不会重定向,也不会产生任何费用。

我不确定要使它正常工作到底缺少了什么。

下面是控制台输出的附件图像。

enter image description here

到目前为止,我的代码是下面看到的代码。

    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();

            }
        }
    };

1 个答案:

答案 0 :(得分:0)

我认为您应该在Stripe文档中阅读以下内容: https://stripe.com/docs/stripe-js/elements/quickstart