如何在Stripe Checkout中用客户姓名预填充持卡人姓名?
解决方案
要实现用客户姓名预填充持卡人姓名且允许用户修改,你需要在创建Checkout Session时添加customer_details参数,指定name字段。之前尝试的cardholder等字段并非Stripe Checkout Session的合法参数,所以无效。
修改后的服务端代码如下:
const session = await stripe.checkout.sessions.create({ payment_method_types: ['card'], customer: user.stripe_customer_id, mode: 'setup', // 添加customer_details字段预填持卡人姓名 customer_details: { name: user.name, // 这里传入客户的姓名,确保user对象包含该字段 }, success_url: config.public_domain + '/sucesso?session_id={CHECKOUT_SESSION_ID}', cancel_url: config.public_domain + '/cancelar', });
注意事项
- 确保你传入的
user.name确实是Stripe客户对象中存储的姓名,若客户对象本身没有name字段,预填会失效。 - 该设置仅会预填持卡人姓名,用户在结账页面仍可自由修改为实际持卡人的姓名,符合你的需求。
内容的提问来源于stack exchange,提问作者ginjaemocoes
相关产品推荐
相关产品推荐

