首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

微信支付 JSAPI 統一下單報 404:URL 拼寫錯誤或參數缺失導致路由不匹配

     編輯:程式設計綜合問答

錯誤現象

POST https://api.mch.weixin.qq.com/pay/unifiedorder
→ The remote server returned an error: (404) Not Found.

404 根因

  • 請求 **URL 路徑錯誤**(大小寫、拼寫、版本號)
  • **參數缺失/格式錯**導致網關直接拒絕路由(微信網關會對必填字段校驗,不通過直接 404 而非 400)
  • 域名解析/代理/防火牆導致請求未到達微信服務器

正確統一下單接口

項目值
接口地址https://api.mch.weixin.qq.com/v3/pay/transactions/jsapi(V3)
或 https://api.mch.weixin.qq.com/pay/unifiedorder(V2,已停止維護)
請求方式POST
Content-Typeapplication/json (V3) / application/xml (V2)
認證V3: Authorization: WECHATPAY2-SHA256-RSA2048 ...
V2: 簽名放在 XML 內 <sign>

V3 關鍵參數示例

{
  "appid": "wxXXXXXXXXXXXX",
  "mchid": "1230000109",
  "description": "商品描述",
  "out_trade_no": "202309010001",
  "notify_url": "https://your.domain/pay/notify",
  "amount": { "total": 100, "currency": "CNY" },
  "payer": { "openid": "oUpF8uMuAJO_M2pxb1Q9zNjWeSs" }
}

排查清單

  1. 確認使用 **V3 接口**(V2 2024 年已全面下線)
  2. 檢查商戶號 mchid、AppID appid 是否為直連商戶模式
  3. 驗證私鑰/證書路徑、序列號 serial_no 正確
  4. 用 curl -v 或 Postman 直發請求,觀察響應 Headers/Body
  5. 查看微信支付官方錯誤碼文檔:V3 錯誤碼

常見坑

  • 測試環境用正式環境證書/商戶號
  • 回調地址 notify_url 必須為 **外網可訪問的 HTTPS**,不可用 localhost/IP
  • 金額單位:**分**(整數),非元
  • 簽名算法:V3 用 SHA256withRSA,V2 用 MD5(已棄用)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved