Javascript 条带表单不会创建任何信用卡

Javascript 条带表单不会创建任何信用卡,javascript,stripe-payments,forms,Javascript,Stripe Payments,Forms,我是Stripe的初学者,我正在努力学习doc,我已经尝试了一些教程,但没有一个能让我的表单正常工作 问题是,表单确实创建了一个令牌和一个客户,我可以在我的Stripe仪表板中看到它,但它没有为该客户创建信用卡,当我尝试向该客户订阅计划时,我收到了一个错误 这是我的表格代码: <body> <div id="listblock"> <div class="lines" id="logo"> <h2>

我是Stripe的初学者,我正在努力学习doc,我已经尝试了一些教程,但没有一个能让我的表单正常工作

问题是,表单确实创建了一个令牌和一个客户,我可以在我的Stripe仪表板中看到它,但它没有为该客户创建信用卡,当我尝试向该客户订阅计划时,我收到了一个错误

这是我的表格代码:

<body>

    <div id="listblock">

        <div class="lines" id="logo">
            <h2>Pay from here! </h2>
        </div>

        <form action="payment.php" method="post" id="payment-form">
            <input class="card-number" type="text" required placeholder="1234 5678 8765 4321">
            <input class="card-expiry-month" type="number" required placeholder="MM">
            <input class="card-expiry-year" type="number" required placeholder="YY">
            <input class="card-cvc" type="number" required placeholder="CVC">
            <input type="radio" name="plan" value="1" checked>Basic annual subscription (99€/year)
            <input type="radio" name="plan" value="2" checked>Basic monthly subscription (9,99€/month)

            <button class="button" type="submit">Submit Payment</button>
        </form>

    </div>

</body>

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


<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<script>
    Stripe.setPublishableKey('my key is here');

    var $form = $('#payment-form'); // On récupère le formulaire

    $form.submit(function (e) {

        e.preventDefault();
        $form.find('button').prop('disabled', true); // On désactive le bouton submit

        Stripe.card.createToken({

            number:     $('.card-number').val(),
            cvc:        $('.card-cvc').val(),
            exp_month:  $('.card-expiry-month').val(),
            exp_year:   $('.card-expiry-year').val()

        }, function (status, response) {

            if (response.error) { // Ah une erreur !

                // On affiche les erreurs
                $form.find('.payment-errors').text(response.error.message);
                $form.find('button').prop('disabled', false); // On réactive le bouton

            } else { // Le token a bien été créé

                var token = response.id; // On récupère le token
                // On crée un champs cachée qui contiendra notre token
                $form.append($('<input type="hidden" name="stripeToken" />').val(token));
                $form.get(0).submit(); // On soumet le formulaire

            }
        });
    });


</script>

谢谢你的帮助

因为您似乎只是在开发应用程序,所以一定要使用最新版本的Stripe,即v3

现在,如果您希望您的客户订阅定期付款计划,您应该首先使用API或从仪表板创建订阅计划,然后创建客户。要创建客户,您需要编写如下代码:

stripe.customers.create({
  email: "jenny.rosen@example.com",
}, function(err, customer) {
  // asynchronously called
});
然后向客户订阅您已经创建的计划。所有这些都被很好地描述了,只要仔细阅读就可以了


此外,如果您不需要实现定期订阅,只想存储客户信息以便以后付款,您可以按照此操作进行操作

首先,只使用V2或V3,而不是两者。
stripe.customers.create({
  email: "jenny.rosen@example.com",
}, function(err, customer) {
  // asynchronously called
});