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

Razorpay回调URL异常:无法获取关键参数及请求方式不符问题

Razorpay回调URL故障排查与修复方案

问题1:服务器收到GET请求,签名验证需POST请求

  • 检查Razorpay后台配置:确保Webhook或订单回调的请求方法设置为POST(Razorpay默认用POST,若手动修改过需改回)。
  • 修正后端路由逻辑:你的回调端点必须允许POST方法访问。比如用Express框架时,要写app.post('/razorpay-webhook', ...)而非app.get。
  • 核对订单创建代码:如果创建订单时通过API指定了回调方法,确认callback_method参数值为post,不要误设为get。

问题2:HTTP URL无法正常生效

  • 生产环境必须用HTTPS:Razorpay已强制要求生产环境回调URL为HTTPS,HTTP地址会被直接拒绝,需为服务器配置SSL证书并替换为HTTPS格式的URL。
  • 本地测试用HTTPS隧道:开发阶段可借助ngrok等工具生成HTTPS隧道,映射本地HTTP服务,将隧道提供的HTTPS URL填入Razorpay测试环境的回调配置。

问题3:req.body为空,无法获取razorpay_order_id等参数

  • 配置表单数据解析中间件:Razorpay回调发送的是x-www-form-urlencoded格式请求体,后端必须适配解析。比如Express框架需添加:
    app.use(express.urlencoded({ extended: true }));
    
    仅用express.json()无法解析表单格式数据,会导致req.body为空。
  • 排查中间件干扰:检查回调端点前的限流、认证类中间件,是否存在修改或清空req.body的逻辑,可暂时禁用这类中间件测试。
  • 避免重定向问题:确认回调URL未被服务器重定向(比如HTTP自动转HTTPS配置不当),重定向会将POST转为GET,同时丢失请求体数据。

内容的提问来源于stack exchange,提问作者Jagrit Joshi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 00:22:06