我使用 Stripe Elements 进行支付处理和 React,并有一个特定的工作流程,在触发之前我首先在数据库中创建一个挂单
stripe.confirmPayment
。这是我的代码的简化版本:
// --> Validate first Stripe embedded form
const order = await createOrder(values);
const { error } = await stripe.confirmPayment({
elements,
confirmParams: {
return_url: `URL`,
},
});
if (error) {
// Show error
setIsLoading(false);
return;
}
我要解决的问题是在调用
stripe.confirmPayment
之前验证 Stripe Elements 表单中的卡详细信息。这对于避免卡验证失败时在数据库中创建不必要的挂单非常重要。
您实际上可以利用 https://docs.stripe.com/ payments/accept-a- payment-deferred 首先收集/验证 PaymentMethod(使用
elements.submit
),然后在同时最终在客户端确认PI