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

Nodejs调用Razorpay订单API Windows运行正常Linux返回空白异常

问题排查与修复方案

  • 优先检查密钥配置:绝大多数跨环境运行失败的原因是Linux服务器上的Razorpay密钥(KEY_ID、KEY_SECRET)配置错误,比如漏设环境变量、.env文件未同步、密钥值复制错误。Razorpay SDK抛出的错误对象默认属性为非枚举类型,直接序列化返回就会呈现为{}空白对象。
  • 优化错误捕获逻辑:你当前的代码混合了async/await和then/catch写法,且直接返回原始错误对象,无法获取有效报错信息,建议替换为统一的try/catch写法,显式提取错误属性:
try {
  const data = await rzp.orders.all({
    count: 10
  });
  console.log('查询成功数据:', data);
  return [data];
} catch (error) {
  // 显式提取错误可枚举属性,避免返回空对象
  const formattedError = {
    code: error.code,
    message: error.message,
    description: error.description
  };
  console.log('查询失败错误:', formattedError);
  return formattedError;
}
  • 验证服务器网络连通性:在Linux服务器上直接执行curl命令测试Razorpay接口连通性,确认服务器防火墙、安全组没有拦截出站请求,同时确认服务器出口IP已加入Razorpay后台IP白名单(如果开启了白名单规则):
    curl -u 替换为你的KEY_ID:替换为你的KEY_SECRET https://api.razorpay.com/v1/orders?count=10
  • 校验运行环境版本:确认Linux服务器上的Node.js大版本和Windows本地一致,Razorpay最新SDK要求Node.js版本≥14.x,建议统一使用16.x及以上的LTS版本,避免版本兼容问题。

内容的提问来源于stack exchange,提问作者Zakariya Pindhariya

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 14:54:01