You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native iOS/Android集成Razorpay打开结账UI触发支付失败报错

Razorpay集成报错排查解决方案

1 基础参数校验

  • 你当前代码中的order_id处于注释状态,哪怕已从服务端获取到正确值,未传入options也会触发报错,请先取消注释,确保字符串格式的order_id正确传入。
  • 确认服务端生成order_id时传入的amount、currency参数,和你前端options中填写的对应值完全一致,两者不匹配会触发校验失败。
  • amount参数要求为数字类型,且为对应货币的最小单位值:币种为INR时,1卢比=100派士,若需收取100卢比,amount应填写10000而非字符串格式的"100",格式或单位错误都会导致支付失败。
  • 检查你填写的key与Razorpay后台环境是否匹配:测试环境用测试Key、生产环境用生产Key,不可混用,同时确认对应账号的支付方式配置已开启。

2 分端针对性排查

iOS端(报错:payment failed unexpected error)

  • 检查iOS项目是否配置了Razorpay要求的ATS例外规则,允许加载Razorpay相关域名,未配置会导致结账页加载失败抛出异常。
  • 确认Razorpay React Native SDK版本与iOS原生依赖版本匹配,版本不兼容会导致回调异常。
  • 测试阶段使用debug模式配合测试Key走沙箱环境验证,不要用生产证书打包测试。

安卓端(报错:no appropriate payment method found)

  • 先确认Razorpay账号后台的支付方式开关已开启:测试环境默认开启UPI、银行卡等常用支付方式,生产环境需自行申请开通对应支付方式。
  • 检查安卓项目AndroidManifest.xml中是否已添加Razorpay要求的网络权限、支付相关Activity配置,缺失配置会导致无法唤起支付组件。
  • 确认测试设备有可用的支付应用(如支持UPI的应用),沙箱测试请使用Razorpay官方提供的测试卡、测试UPI ID验证,不要用真实支付信息测试。
  • 若开启了代码混淆,确保Razorpay相关类没有被混淆裁剪。

3 其他验证方案

  • 打印完整的错误日志,除description外额外查看error.code、error.error字段,错误码1通常对应参数校验失败,优先核对所有传入参数是否符合Razorpay的参数规范。
  • 临时注释自定义theme配置,使用默认主题测试,排除自定义颜色不兼容导致的加载失败。

内容的提问来源于stack exchange,提问作者Shafaq Shaikh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 21:15:02