Stripe返回"No such token"错误(Plaid Node SDK集成场景)
可能的错误原因及排查方案
1. Plaid侧未正确绑定Stripe账号
你需要先在Plaid沙箱控制台的「处理器集成」页面,绑定对应Stripe沙箱账号,且启用Stripe处理器权限。未绑定的情况下Plaid生成的btok_xxx token是无效的,Stripe侧无法识别,就会抛出No such token报错。
2. Stripe客户端环境不匹配
虽然代码中注释getStripeClient(mode)返回沙箱客户端,仍需确认该方法初始化Stripe实例时用的确实是Stripe沙箱API密钥(前缀为sk_test_)。如果误传入了生产环境的sk_live_开头密钥,沙箱环境生成的btok在生产环境不存在,也会触发该报错。
3. 调用Plaid接口使用的account_id不符合要求
你传入processorStripeBankAccountTokenCreate接口的account_id,必须是Plaid返回的类型为depository(储蓄/支票账户)的账户ID,如果是信用卡、投资账户等不支持ACH转账的账户类型,生成的btok也是无效的。
4. 集成权限未开启
部分Plaid测试账号默认未开通Stripe处理器权限,你需要登录Plaid控制台检查Stripe集成的启用状态,未开启的情况下生成的token无法被Stripe识别。
快速验证方法
你可以直接将生成的btok_1JFMGwGq7ejZoSiwGmM8WSSm复制到Stripe沙箱后台的测试接口工具中,手动调用customers.createSource接口,如果仍然报错,即可确认是Plaid侧生成的token无效,优先排查上述Plaid相关配置即可。
内容的提问来源于stack exchange,提问作者adamf321
相关产品推荐
相关产品推荐

