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

React Native与Laravel集成Cashfree支付网关出现orderAmount必填错误

报错核心原因
  • 最常见的原因是服务端生成cftoken(也就是你代码里的tokenData)时未传入orderAmount参数:CashFree的cftoken会绑定订单的核心属性(金额、订单ID、币种等),服务端生成token时如果缺失orderAmount,即使前端正确传参,SDK校验也会失败,返回找不到orderAmount的报错。
  • 其次是orderAmount的格式不符合SDK要求:部分版本的CashFree SDK要求金额必须为带两位小数的数字类型,传入整数可能识别异常。
  • 小概率原因是Android端开启混淆未加SDK白名单导致参数被混淆、参数拼写错误、SDK版本和接入文档不匹配。
排查解决步骤
  • 第一步:校验服务端生成cftoken的逻辑
    确认服务端调用CashFree创建订单接口生成cftoken时,已经正确传递了orderAmount参数,且参数值、币种和你前端传入的完全一致。
  • 第二步:调整前端orderAmount的格式
    将代码中的金额改为带两位小数的数字类型,修改示例:
    // 原代码
    "orderAmount": 150,
    // 修改为
    "orderAmount": 150.00,
    // 如果是动态取值,用toFixed转换后转数字
    "orderAmount": Number(parseInt(response.data.price).toFixed(2)),
    
  • 第三步:确认参数有效性
    在调用RNPgReactNativeSDK.startPaymentWEB前打印完整的map对象,确认orderAmount字段确实存在、值不为空/undefined。
  • 第四步:排查Android端配置
    如果你的Android端开启了代码混淆,确认已经在proguard-rules.pro中添加CashFree SDK的混淆规则,避免参数名被篡改后无法被识别。
  • 第五步:校验SDK版本
    确认你集成的CashFree React Native SDK版本为2.0及以上,和你参考的接入文档规则匹配。

内容的提问来源于stack exchange,提问作者matheen ulla

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 22:27:04