我在支付页面中使用了一个Stripe carelement,并且我在调用". confirmcardpayment "时遇到了一个问题。下面是调用它的Javascript代码:
stripe.confirmCardPayment(
"<%=clientSecret %>",
{
receipt_email: "<%=customerEmail%>",
payment_method: {
card: cardElement,
},
billing_details: {
name: "me",
address: {
country: "US",
line1: "123 main street",
line2: null,
city: "pueblo",
state: "co",
postal_code: "81003",
},
},
}
).then(function (result) {
loading(false);
if (result.error) {
showError(result.error.message);
} else {
$("#hdData").val(JSON.stringify(result.paymentIntent));
frmBuy.submit();
}
});
一切正常,除了我从Stripe得到一个错误消息说:
Received unknown element: billing_details
我已经浏览了我能找到的所有文档,所有文档都说这是调用调用的正确方法。我想确保包括客户账单地址信息,以便在欺诈活动索赔事件中PaymentIntent反映客户的信息。为了测试和简化这个问题,我删除了添加实际客户信息的代码。
谁能告诉我我是如何构造这个呼叫错误的?关于这个,Stripe文档没有提供任何帮助。
看起来问题是由于billing_details
参数没有嵌套在您的卡支付确认的payment_method
参数中。相反,您的代码应该看起来像这样:
stripe.confirmCardPayment(
"<%=clientSecret %>",
{
receipt_email: "<%=customerEmail%>",
payment_method: {
card: cardElement,
billing_details: {
name: "me",
address: {
country: "US",
line1: "123 main street",
line2: null,
city: "pueblo",
state: "co",
postal_code: "81003",
},
},
},
}
)