使用Stripe测试模式提交自定义表单时遇No such token错误求助
解决Stripe测试模式下"No such token"错误
这个错误的本质是你后端调用Stripe API时使用的tok_1MtvkRSCQQ84qVMJpmJWQ1OG令牌在测试环境中不存在,按以下步骤排查修复:
确认前端令牌生成流程
禁止手动硬编码令牌值,必须使用Stripe测试发布密钥(pk_test_开头)通过Stripe.js动态生成:- 前端页面引入Stripe.js,用你的测试发布密钥初始化Stripe实例
- 监听表单提交事件,调用
stripe.createToken()生成有效测试令牌 - 将生成的令牌原封不动传给后端,不能修改或伪造令牌内容
核对前后端密钥匹配
后端必须使用对应测试账户的秘密密钥(sk_test_开头),严禁混用生产环境密钥,且要确保前后端密钥属于同一个Stripe测试账户。检查令牌的时效性与唯一性
测试令牌无法重复使用,且存在有效期,每次提交表单都要重新生成新的令牌,不能复用之前的旧令牌。排查参数传输问题
确保前端传给后端的令牌参数没有被截断、篡改,表单字段名要和后端接收的字段名完全一致,避免后端拿到错误的令牌字符串。用官方示例验证
替换为Stripe官方提供的测试表单代码进行测试,如果官方代码能正常运行,再对比你的自定义代码找出差异点。
内容的提问来源于stack exchange,提问作者Nadeem Malik
相关产品推荐
相关产品推荐

