我正在尝试遵循以下链接https://stripe.com/docs/payments/accept-a-payment中显示的示例。
我在客户端有以下代码
var cardNumber = elements.create('cardNumber', {
placeholder:'',
style: style
});
var cardexpiry = elements.create('cardExpiry',{
placeholder:'',
style:style
});
var cardCVV = elements.create('cardCvc',{
placeholder:'',
style:style
});
// Add an instance of the card Element into the `card-element` <div>.
cardNumber.mount('#card-element');
cardexpiry.mount("#card-expiry")
cardCVV.mount("#card-cvv")
而不是这个
var card = elements.create("card", { style: style });
card.mount("#card-element");
因为我想要一些 UI 操作。根据链接中发布的代码,我应该执行以下操作
var submitButton = document.getElementById('submit');
submitButton.addEventListener('click', function(ev) {
stripe.confirmCardPayment(clientSecret, {
payment_method: {card: card}
}).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.
}
}
});
});
但是,在上面的 payment_method 示例中,卡对象被传递,而我的代码中并非如此。如何在 stripe.confirmCardPayment(clientSecret, { payment_method: {card: card} 中分别传递我的卡号和 exp/date 以及 CVC