Stripe Express 入驻流程中是否支持预填充手机号码字段?
解答
Stripe Express入驻流程支持预填充手机号码字段,你当前预填充失败由以下两个核心原因导致:
- 手机号格式不符合Stripe的E.164标准,且填写的号码区号与你设置的账户所属国家不匹配
- 仅填充
company.phone、business_profile.support_phone字段覆盖场景不全,若Express流程需要填写账户联系人/法定代表人手机号,还需要补充对应字段的赋值
修复方案
1. 修正手机号格式与国家匹配逻辑
Stripe仅接受E.164格式的手机号,规则为:以+开头,紧跟国家代码,后续无空格、横杠等任何特殊符号,且区号必须和账户所属国家一致。
你当前代码中addressParams设置的国家是AU(澳大利亚,对应区号+61),但手机号填写的是奥地利区号+43,同时手机号中间带空格,和规则冲突,会被Stripe直接过滤不生效:
- 若账户实际归属奥地利,将
country值改为AT,手机号改为+430000000000(删除中间空格) - 若账户实际归属澳大利亚,手机号改为
+61开头的无空格合法手机号
2. 补充联系人手机号字段
如果你的Express入驻流程要求填写法定代表人/账户联系人的手机号,仅填充公司电话、客服电话不会映射到该字段,需要额外补充对应参数:
// 补充单个联系人手机号示例 Map<String, Object> individualParams = new HashMap<>(); if (accountInfo.get("representativePhone") != null) { individualParams.put("phone", "符合E.164格式的手机号"); } params.put("individual", individualParams); // 若为多代表人的公司类型,需填充representatives数组 List<Object> representatives = new ArrayList<>(); Map<String, Object> repParams = new HashMap<>(); repParams.put("phone", "符合E.164格式的手机号"); // 补充代表人其他必填字段 representatives.add(repParams); params.put("representatives", representatives);
修改后重新调用账户更新接口即可正常预填充手机号字段。
内容的提问来源于stack exchange,提问作者user16514999
相关产品推荐
相关产品推荐

