javascript - Stripe - PaymentIntents handleCardPayment() - 如何捕获 JS 错误?

标签 javascript stripe-payments

我根据 Stripe 提供的示例编写了代码:

var cardButton = document.getElementById('card-button');
var clientSecret = cardButton.dataset.secret;

cardButton.addEventListener('click', function(ev) {
  stripe.handleCardPayment(
    clientSecret, cardElement
  ).then(function(result) {
    if (result.error) {
      // Display error.message in your UI.
    } else {
      // The payment has succeeded. Display a success message.
    }
  });
});

https://stripe.com/docs/stripe-js/reference#stripe-handle-card-payment

我遇到的问题是,例如我没有为 clientSecret 提供值。当我提交表单时,我在控制台中收到此错误:

enter image description here

如何捕获此错误(以及其他 JS 错误)并在 UI 中显示该错误?我尝试在 then() 函数中捕获它,但我认为这仅用于报告 API 响应中的错误。

最佳答案

好吧,我想通了。只需要一个简单的 try/catch 即可。

try {
  stripe.handleCardPayment(
    clientSecret, cardElement
  ).then(function(result) {
    if (result.error) {
      // Display error.message in your UI.
    } else {
      // The payment has succeeded. Display a success message.
    }
  });
}
catch(error) {
  console.log(error.message);
}

关于javascript - Stripe - PaymentIntents handleCardPayment() - 如何捕获 JS 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55455240/

相关文章:

javascript - 如何在 "image"类型的输入上调用 onclick 函数?

javascript - Coffeescript变量串联导致 "Uncaught TypeError value is not a function"

javascript - jquery延迟ajax调用执行

php - Stripe Checkout webhook 不传递客户电子邮件?

javascript - Stripe Checkout 坏了吗?

java - 在新的 Android Studio 中初始化 Stripe 对象

javascript - KnockoutJS/Bootstrap - 使用 javascript 关闭模态时清除模态形式

javascript - swfObject 嵌入对象在 ie11 中不起作用

php - 从路由号码获取银行名称

angular - 等到触发器在 ionic-angular 的 firebase 上被触发