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

PhonePe支付网关从UAT测试模式迁移至Live生产模式时遭遇RESOURCES NOT FOUND错误求助

PhonePe支付网关从UAT测试模式迁移至Live生产模式时遭遇RESOURCES NOT FOUND错误求助

我完全懂你现在的糟心处境——UAT环境跑的顺风顺水,一切到生产模式就碰上个资源找不到的错误,官方文档没讲明白、客服还不回邮件,确实头疼。咱们一步步拆解问题,大概率是API端点或签名计算的细节没调整到位:

1. 修正生产环境的API完整端点

你当前用的https://api.phonepe.com/apis/hermes是不完整的,PhonePe生产环境的支付API完整路径应该是:

https://api.phonepe.com/apis/hermes/pg/v1/pay

测试环境的路径是/apis/pg-sandbox/pg/v1/pay,生产环境需要把pg-sandbox替换成hermes,同时保留后续的pg/v1/pay核心路径,只改域名是不够的。

2. 同步调整签名计算的路径参数

你的签名计算代码里用的是"/pg/v1/pay",这适配的是测试环境的路径结构,但生产环境的请求路径是"/hermes/pg/v1/pay",这里必须同步修改,否则签名验证失败也可能间接引发资源找不到的错误:

// 原测试环境的签名路径
// const string = encodedPayload + "/pg/v1/pay" + saltKey;

// 修改为生产环境的完整相对路径
const string = encodedPayload + "/hermes/pg/v1/pay" + saltKey;

3. 核对生产环境的所有核心凭证

确认你替换的生产凭证完全正确,没有复制错误或遗漏:

  • merchantId:必须是PhonePe提供的生产专属商户ID(绝对不能用测试用的PGTESTPAYUAT)
  • saltKey:生产环境独有的salt密钥,和测试环境的密钥完全不同
  • saltIndex:对应生产saltKey的索引值,由PhonePe提供,不一定是测试环境的1

4. 检查请求头部与参数合规性

虽然测试环境的头部没问题,但生产环境校验更严格:

  • 确保Content-Type确实是application/json,没有拼写错误
  • 确认X-VERIFY头部格式是sha256值###saltIndex,没有多余空格或符号
  • 生产环境的merchantTransactionId必须是动态生成的唯一值,不能用测试环境的固定值MT7850590068188108,避免重复交易问题

5. 测试调整后的代码

把这些修改完成后,重新部署Firebase Cloud Function再发起请求试试。如果还是报错,可以打印出完整的请求URL、头部和请求体,对比PhonePe生产文档的要求,排查是否有遗漏的必填参数。

备注:内容来源于stack exchange,提问作者Pratyaksh Gupta

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 12:14:34