使用Cartalyst\Stripe创建印度银行账户token提示IFSC编号无效如何解决
问题解决方法
报错原因
印度地区的银行账户在Stripe体系中要求使用11位标准IFSC码作为路由编号,你当前传入的routing_number值为110000000,仅有9位且不符合ABCD0123456的IFSC格式要求,因此触发校验失败。
修正方案
- 替换
routing_number参数值为符合规范的IFSC码,测试环境可使用Stripe官方提供的印度测试IFSC码HDFC0000123 - 修正
default_for_currency参数的取值类型,传布尔值false而非字符串'false',避免额外的参数校验错误
修正后的代码示例
$token = $stripe->tokens()->create([ 'bank_account' => [ 'object'=>'bank_account', 'country' => 'IN', 'currency' => 'INR', 'account_holder_name' => 'Jenny Rosen', 'account_holder_type' => 'individual', 'routing_number' => 'HDFC0000123', 'account_number' => '000123456789', 'default_for_currency' => false ], ]);
额外注意事项
- 生产环境必须替换为用户提供的真实11位IFSC码,禁止使用测试码
- 你当前使用的
cartalyst/stripe-laravel 7.0.*版本完全支持印度银行账户的参数规范,无需升级依赖即可正常使用 - IFSC码可通过用户的开户行信息获取,输入时无需添加空格,大小写不影响校验结果
内容的提问来源于stack exchange,提问作者Chandra Prakash
相关产品推荐
相关产品推荐

