前端的Stripe ConfirmCardPayment用于客户端的支付操作,而后端的paymentintent.Confirm则用于服务器端的支付操作。具体来说,前端的ConfirmCardPayment会直接向Stripe发送支付请求,并返回支付结果给前端界面。而后端的Confirm需要在服务器端进行逻辑处理和支付确认,并将结果返回给前端。以下是前后端的代码示例:
前端代码示例:
const {error, paymentIntent} = await stripe.confirmCardPayment(clientSecret, {
payment_method: {
card: cardElement,
billing_details: billingDetails,
}
});
if (error) {
// 显示错误信息给用户
console.log(error.message);
} else if (paymentIntent.status === 'succeeded') {
// 支付成功
console.log('Payment succeeded');
}
后端代码示例:
const paymentIntent = await stripe.paymentIntents.create({
amount: 2000,
currency: 'usd',
payment_method_types: ['card'],
});
const {error, paymentIntent} = await stripe.paymentIntents.confirm(paymentIntent.id);
if (error) {
// 处理错误逻辑
} else if (paymentIntent.status === 'succeeded') {
// 处理支付成功逻辑
}