我正在使用 stripe 元素创建付款意图,但是我确实需要捕获客户的电子邮件和姓名,以便在购买后授予对产品的访问权限,这是我的代码:
async function initialize() {
const { clientSecret } = await fetch("../create.php", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ items }),
}).then((r) => r.json());
elements = stripe.elements({ clientSecret });
const paymentElement = elements.create("payment", {
fields: {
billingDetails: {
name: 'auto',
email: 'auto',
}
}
});
paymentElement.mount("#payment-element");
}
Run Code Online (Sandbox Code Playgroud)
付款元素已创建并获取 CC 信息,选项设置为自动或关闭,文档中没有选项使字段成为必填项,我如何仍然获得有关付款意图的信息?
小智 10
不幸的是,目前无法将付款元素本身配置为需要电子邮件等详细信息。
目前获得此功能的最佳方法可能是禁用付款元素中的这些字段,创建电子邮件字段,并在允许提交表单之前检查它是否已填写。然后您可以将电子邮件传递给参数payment_method_data.billing_details[1]
const {error} = await stripe.confirmPayment({
//`Elements` instance that was used to create the Payment Element
elements,
confirmParams: {
return_url: 'https://my-site.com/order/123/complete',
payment_method_data: {
billing_details: {
email: 'test@example.com',
}
}
},
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2734 次 |
| 最近记录: |