如何解决Razorpay测试模式下“未找到合适支付方式”报错?
解决Codeigniter集成Razorpay测试模式时“No appropriate payment method found”错误
以下是针对性的排查和解决步骤:
确认测试密钥对的正确性
检查index.php中初始化Razorpay Api的密钥对,必须完全匹配Razorpay后台测试模式下的密钥ID和密钥Secret,不能有空格、换行或字符遗漏。正确示例:$api = new Api("rzp_test_xxxxxxxxx", "test_xxxxxxxxxxxxxxxx");注意Secret是测试模式下生成的专属密钥,而非生产环境的live密钥。
同步更新前端的测试密钥
很多时候后端改了测试密钥,但前端调用Razorpay弹窗的代码还在用生产密钥(rzp_live_开头),这会直接导致支付方式加载失败。确保前端初始化代码使用测试密钥:var rzpOptions = { "key": "rzp_test_xxxxxxxxx", // 必须为测试模式密钥 "amount": "1000", // 测试金额(最小单位,如1000代表10卢比) "currency": "INR", // 其他必填参数 }; var razorpayInstance = new Razorpay(rzpOptions);使用官方测试支付凭证
Razorpay测试模式不支持真实支付信息,必须用官方提供的测试凭证:- 测试信用卡:
4111 1111 1111 1111,有效期填未来年月(如12/28),CVV填任意3位数字 - 测试UPI ID:
success@razorpay
使用真实信息会触发“No appropriate payment method found”错误。
- 测试信用卡:
检查环境的HTTPS配置
如果你的测试环境是HTTP协议,需确保Codeigniter没有强制HTTPS跳转,否则会导致Razorpay的支付方式资源加载失败。可在application/config/config.php中临时调整:$config['force_https'] = FALSE;清除缓存后重试
清除Codeigniter的application/cache目录下的缓存文件,同时清空浏览器缓存,避免旧配置残留影响测试。
内容的提问来源于stack exchange,提问作者Tanu Kushwaha
相关产品推荐
相关产品推荐

