如何通过API更新Stripe所有法律实体?参数错误问题求助
解决Stripe API更新法律实体时的“无效参数”错误
我来帮你拆解问题并给出修复方案——你这段代码踩了两个Stripe API的常见坑:
问题根源
你的代码触发“无效参数”错误有两个关键原因:
- 字段路径错误:Stripe账户的法律实体信息(比如姓名)并不是直接挂在
Account根对象下的,个人实体的信息嵌套在individual属性里,企业实体则在company属性下。直接给$account->first_name赋值,Stripe API会识别为不存在的参数。 - 字段值类型不匹配:
first_name要求是合法的姓名字符串,你填入的电话号码不符合字段验证规则,这也会触发参数无效的错误。
修复后的代码示例
根据你要更新的法律实体类型,选择对应的代码:
1. 更新个人法律实体信息
如果是修改个人账户的姓名:
\Stripe\Stripe::setApiKey("你的Secret API密钥"); $account = \Stripe\Account::retrieve("目标账户ID"); // 修改个人实体的名字(替换为真实姓名,不要填电话) $account->individual->first_name = "John"; // 可选:同时修改姓氏 $account->individual->last_name = "Doe"; $account->save();
2. 更新企业法律实体信息
如果是企业账户,需要操作company属性:
\Stripe\Stripe::setApiKey("你的Secret API密钥"); $account = \Stripe\Account::retrieve("目标账户ID"); // 修改企业名称 $account->company->name = "Acme科技有限公司"; // 可选:修改企业地址等其他信息 $account->company->address->city = "上海"; $account->save();
额外注意事项
- API密钥权限:如果操作的是平台下的连接账户,必须使用平台的Secret Key,不能用连接账户自己的密钥。
- 查看详细日志:如果仍报错,去Stripe后台「开发者 > 日志」页面,里面会显示具体哪个参数无效,帮你精准排查。
- 版本兼容性:确保你的Stripe PHP SDK版本和后台设置的API版本匹配,避免因版本差异导致字段结构变化。
内容的提问来源于stack exchange,提问作者user7831149
相关产品推荐
相关产品推荐

