如何解决条纹Javascript库ConfirmCardPayment不返回
我正在尝试在ASP.Net MVC项目上使用Stripe作为付款方式
我们已经走过使用条纹元素来定义我们自己的卡片细节外观的方法。
我已按照教程进行操作,并设法使卡片widgit很好地显示。
提交失败的地方。
我已经将以下JS连接到按钮上(直接从指南中获取)
var form = document.getElementById('payment-form');
var clientSecret = $("#authcode").val();
form.addEventListener('submit',function(ev) {
ev.preventDefault();
stripe.confirmCardPayment(clientSecret,{
payment_method: {
card: card,billing_details: {
name: 'Jenny Rosen'
}
}
}).then(function(result) {
if (result.error) {
// Show error to your customer (e.g.,insufficient funds)
console.log(result.error.message);
} else {
// The payment has been processed!
if (result.paymentIntent.status === 'succeeded') {
// Show a success message to your customer
// There's a risk of the customer closing the window before callback
// execution. Set up a webhook or plugin to listen for the
// payment_intent.succeeded event that handles any business critical
// post-payment actions.
}
}
});
});
现在,当我在其上放置断点时,确实会进入stripe.confirmCardPayment
函数
但是我没有得到回应。我在行if (result.error) {
上设置了一个断点,但是它从未触发。我已经坐了两分钟。
Chrome控制台中没有错误,也没有网络流量。
我很高兴JS都已正确加载,因为如果我再次单击Submit,Stripe JS lib会正确告诉我我正在运行中ConfirmCardPayment
任何建议都将受到赞赏。
解决方法
看起来您正在使用jQuery:
var clientSecret = $("#authcode").val();
您应该使用
包装js$(document).ready(function(){
....
}):
,
好的,我终于可以正常工作了。
是的,我相信Nolan / Raphael给出的答案确实是一个缓存问题!
但是。使用CTRL + SHIFT + DEL删除缓存无效。
我要清除缓存的唯一方法是物理更改JS。
再次感谢Nolan / Raphael的建议:)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。