已预设Stripe账户business_type为individual仍显示业务类型选择问题
问题原因
- 你在创建Stripe Express账户时仅预设了
business_type参数,但Stripe默认的用户认证流程没有锁定该字段,所以仍然会展示Choose Business Type选择项供用户修改。 - 你填写的
business_profile.name包含「Company」关键词,Stripe的字段匹配逻辑会自动识别为企业主体,触发Account Representative、Management and Ownership等企业认证字段的展示,哪怕你已经设置了业务类型为个人。 - 加拿大(
country: 'CA')区域的个人Stripe账户要求额外的身份信息校验,你创建账户时没有同步预填individual字段下的个人身份信息,Stripe会自动加载通用认证字段集合,包含企业相关的收集项。
解决方案
- 生成用户认证的Account Link时,添加配置禁止收集业务类型字段,锁定你预设的个人主体类型,示例代码如下:
const accountLink = await stripe.accountLinks.create({ account: account.id, refresh_url: '你的刷新回调地址', return_url: '你的认证完成返回地址', type: 'account_onboarding', // 新增如下配置,强制不展示业务类型选择项 collect: { business_type: 'never' } });
- 修改
business_profile的配置,移除名称中可能被识别为企业的关键词,同时在创建账户时预填你已经收集到的个人身份信息,避免触发额外的企业字段校验,修改后的账户创建代码示例如下:
const account = await stripe.accounts.create({ type: 'express', country: 'CA', business_type: 'individual', // 预填个人身份信息,按需补充你已收集的字段即可 individual: { first_name: '用户名字', last_name: '用户姓氏', // 可补充address、dob、ssn_last_4等你已获取的信息,减少用户填写步骤 }, business_profile: { // 移除Company关键词,使用符合个人主体的名称 name: "Independent Lessor", product_description: "Independent rental service provider." } });
- 如果你已经预填了所有要求的个人信息,还可以在创建Account Link时添加
fields: 'currently_due'配置,只让用户填写当前缺失的必填项,进一步简化流程。
内容的提问来源于stack exchange,提问作者R3FL3CT
相关产品推荐
相关产品推荐

