我根据 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
提供值。当我提交表单时,我在控制台中收到此错误:
如何捕获此错误(以及其他 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/