Javascript Stripe createPaymentMethod函数不执行任何操作
我正在按照本指南在.NET应用程序上实现条带支付意图,并尝试“使用函数createPaymentMethod收集卡的详细信息,如步骤1所示。 我直接在我的aspx页面上复制了代码 HTML版本:Javascript Stripe createPaymentMethod函数不执行任何操作,javascript,.net,stripe-payments,Javascript,.net,Stripe Payments,我正在按照本指南在.NET应用程序上实现条带支付意图,并尝试“使用函数createPaymentMethod收集卡的详细信息,如步骤1所示。 我直接在我的aspx页面上复制了代码 HTML版本: <input id="cardholder-name" type="text"> <!-- placeholder for Elements --> <div id="card-element"></div> <button id="card-but
<input id="cardholder-name" type="text">
<!-- placeholder for Elements -->
<div id="card-element"></div>
<button id="card-button">Submit Payment</button>
问题是,在单击功能上,代码进入“.then”(功能(结果)”仅在出现错误的情况下(例如“错误的卡号”等…)。而如果我输入正确的数据,它将永远不会进入。我在各种浏览器控制台上进行了检查,没有任何错误。
我错过什么了吗
固定的
我会写信给可能有同样问题的人。
问题是,在承诺得到解决之前,卡元素从DOM中消失了。
要解决此问题,只需在单击式侦听器中添加ev.preventDefault()
var stripe = Stripe('pk_test_xxxxxxxxxxxxxxxxxxxxx');
var elements = stripe.elements();
var cardElement = elements.create('card');
cardElement.mount('#card-element');
cardButton.addEventListener('click', function (ev) {
stripe.createPaymentMethod('card', cardNumber, {
billing_details: {
name: 'Test Name',
},
}).then(function (result) {
alert(result); //CODE GETS HERE ONLY IF RESULT IS ERROR (ex. wrong card number)
// Handle result.error or result.paymentMethod
});
});