@paypal/paypal-js v4.1.0预填信用卡账单信息phone字段报错如何解决
该问题的核心原因是 payer.phone 下的phone_number字段结构不符合PayPal Orders v2 API的规范要求:你当前直接给phone_number传了字符串类型的号码,但API要求phone_number必须是一个嵌套对象,结构不匹配就会触发JSON格式校验失败的报错。
修复方案
将你代码里的phone字段替换为符合规范的结构即可:
phone: { // 可选值:MOBILE(手机)/HOME(住宅)/WORK(工作),按实际场景选择 phone_type: 'MOBILE', phone_number: { // 填写完整的有效手机号,不要使用过短的测试值 national_number: '4081234567', // 如果是非美国号码可以补充国家代码,比如中国号码加 country_code: 'CN' } },
额外注意项
- 你代码中手动传入的
payer_id: '1'可以删掉,该字段是PayPal侧为付款人生成的唯一标识,无需开发者手动传入,自定义值不会生效还可能引发额外校验问题。 - 传入的手机号需要符合对应国家的号码格式规则,比如美国手机号为10位数字,随意使用过短的测试值就算结构正确也可能触发格式报错。
内容的提问来源于stack exchange,提问作者Maik Kwi
相关产品推荐
相关产品推荐

