微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

条纹Javascript库ConfirmCardPayment不返回

如何解决条纹Javascript库ConfirmCardPayment不返回

我正在尝试在ASP.Net MVC项目上使用Stripe作为付款方式

我们已经走过使用条纹元素来定义我们自己的卡片细节外观的方法

我已按照教程进行操作,并设法使卡片widgit很好地显示

enter image description here

提交失败的地方。

我已经将以下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 举报,一经查实,本站将立刻删除。