Stripe Connect银行账户启用打款,创建正确更新token应使用哪些字段
Stripe银行账户打款功能验证修复方案
错误原因说明
- 尝试1报错原因:
documents字段不在Stripe前端createToken方法的账户参数白名单内,不支持通过前端生成账户Token的方式传递,只能在服务端调用更新账户接口时直接传入。 - 尝试2报错原因:
individual.verification.additional_document是个人身份验证字段,和你触发的银行账户所有权验证属于完全独立的校验场景,且你的账户已完成个人身份验证,因此无法通过API修改该字段。
正确操作流程
- 前端仅在
createToken的account参数中传入允许的字段(如tos_shown_and_accepted),将银行所有权证明文件单独提交给服务端处理 - 服务端先将证明文件上传到Stripe文件系统,获取
file_xxx格式的文件ID - 服务端直接调用Stripe账户更新接口,将文件ID传入
documents.bank_account_ownership_verification.files字段完成更新
前端示例代码
let account = { tos_shown_and_accepted: true }; from(this.stripe.createToken('account', account)).pipe(take(1)).subscribe((result: any) => { if (result.error) { this.alertService.danger(result.error.message); return; } // 将账户Token和验证文件一同提交给自有服务端 this.accountService.updateStripeAccount( this.route.snapshot.paramMap.get('id'), { tokenId: result.token.id, bankVerifyFile: this.file.value } ).subscribe(() => { this.router.navigate(['/account/banks/accounts']); this.alertService.info("Account updated successfully"); }, error => { console.log(error); }).add(() => { this.loadingAccount = false; }); });
服务端示例代码(Node.js)
const stripe = require('stripe')('你的Stripe私密密钥'); // 第一步:上传验证文件到Stripe const uploadedFile = await stripe.files.create({ file: { data: req.body.bankVerifyFile, name: 'bank_ownership_verification.pdf', type: 'application/pdf' }, purpose: 'account_requirement' }); // 第二步:更新Stripe账户信息 const updatedAccount = await stripe.accounts.update( '待更新的Stripe账户ID', { account_token: req.body.tokenId, documents: { bank_account_ownership_verification: { files: [uploadedFile.id] } } } );
测试环境补充说明
你当前使用的是触发验证的测试银行账号,测试环境下上传任意符合格式要求的文件即可自动通过验证,无需提供真实证明材料。
内容的提问来源于stack exchange,提问作者chuckd
相关产品推荐
相关产品推荐

