商戶號註冊、產品開通和憑證都在微信側完成。密鑰只寫進 後端密鑰管理(Edge Function Secrets),不要發到聊天、前端或 Git。專案裡生成的變數名可能與下表略有不同,以對話裡給出的 Secrets 為準。
先選支付產品
三種產品介面不同,不要混用。小程序裡不要當 H5 去開域名,也不要在 WebView 裡直接調wx.requestPayment。
建議:先用免費 諮詢 說清「手機 H5 / 小程序 JSAPI / 電腦掃碼」,再執行接入,避免開錯產品返工。
一、註冊商戶號
- 打開 pay.weixin.qq.com
- 點擊右上角「成為商家」
- 選擇企業或個體戶,按指引上傳營業執照、法人身份證、結算帳戶和聯絡人
- 提交後等待審核(通常 1–3 個工作日)
- 審核通過後,登入即可看到 商戶號(10 位數字)
二、取得支付憑證
2.1 商戶號
帳戶中心 → 商戶資訊 → 微信支付商戶號。2.2 關聯 AppID
產品中心 → AppID 帳號管理 → 關聯 AppID,並到對應後台確認授權。- JSAPI:必須關聯 小程序 AppID,且與小程序登入用的 AppID 一致。
- H5:關聯公眾號或已開通 H5 的應用 AppID,以商戶平台要求為準。
2.3 設定 APIv3 密鑰
帳戶中心 → API 安全 → APIv3 密鑰。設一個 正好 32 個字元 的字串(按 UTF-8 計為 32 位元組),確認後立刻儲存,關閉頁面後無法再查看。2.4 申請並下載商戶 API 憑證
帳戶中心 → API 安全 → 商戶 API 憑證 → 申請並下載cert.zip。解壓後主要用:
apiclient_key.pem,整份複製(必須包含 BEGIN / END 兩行和換行)。
2.5 憑證序號
在 API 安全的憑證清單裡複製「憑證序號」;或:serial= 後面的值。序號必須與這份私鑰匹配,否則請求會報 SIGN_ERROR。
2.6 微信支付平台公鑰
API v3 校驗微信的回應和支付回調時,還需要 平台公鑰 和 公鑰 ID(不是商戶自己的apiclient_cert.pem)。
- 帳戶中心 → API 安全,找到微信支付公鑰 / 平台憑證相關入口(以商戶平台目前名稱為準)
- 下載或複製平台公鑰 PEM,以及對應的公鑰 ID
- 公鑰同樣保留完整頭尾和換行
三、按場景開通產品
只開通你實際會用的產品。目前是小程序 JSAPI,就不必為了「文件寫了 H5」去開 H5。3.1 H5 支付(手機瀏覽器)
產品中心 → H5 支付 → 申請開通,填寫支付域名、網站名稱和 ICP 備案號。域名必須與線上一致。3.2 JSAPI 支付(小程序)
產品中心申請 JSAPI 支付,並確認小程序 AppID 已與商戶號雙向綁定。顧客在小程序內付款走/v3/pay/transactions/jsapi,由原生頁調用 wx.requestPayment。
3.3 Native 支付(電腦掃碼)
產品中心開通 Native 支付(或商戶平台上的掃碼支付)。只開了 H5 時,電腦瀏覽器往往拉不起支付。四、配置到 superun
在 後端密鑰管理(Edge Function Secrets) 中配置,以產品內入口為準。不要用前端環境變數。五、支付怎麼走
無論哪種產品,前端支付成功、頁面跳回都不算已支付。只認服務端:驗簽後的非同步回調,或主動查單。同一筆訂單可能收到多次通知,寫入必須冪等,避免重複確認、重複出貨或重複扣款。5.1 H5
- 前端請後端建立訂單
- 後端呼叫 H5 下單介面,拿到
h5_url - 顧客跳轉完成支付
- 微信回調 / 後端查單後,把訂單標為已支付
5.2 JSAPI(小程序)
wx.requestPayment 的 success 只表示收銀台走完,不要據此改訂單狀態。
5.3 對 AI 說的示例
配置好密鑰後,在對話裡寫清產品和場景,例如:- 「網站在手機瀏覽器裡用微信 H5 支付」
- 「小程序裡用 JSAPI,
wx.login換 openid,原生頁wx.requestPayment」 - 「電腦端用 Native 掃碼支付」
六、支付後解鎖內容
- 顧客完成支付
- 微信向
notify_url發結果;後端驗簽、核商戶號 / 訂單號 / 金額(整數分)後標記已支付 - 前端輪詢或推送訂單狀態,已支付 才展示付費內容或開始後續任務
七、常見錯誤
SIGN_ERROR
SIGN_ERROR
商戶憑證序號與私鑰不匹配,或平台公鑰 / 公鑰 ID 不是目前生效的那一套。到 API 安全頁核對後更新 Secrets 並重新部署。
NO_AUTH 產品未開通
NO_AUTH 產品未開通
按實際場景開通 H5、JSAPI 或 Native,不要用另一種產品的介面去補。
PARAM_ERROR 域名不符
PARAM_ERROR 域名不符
H5 場景:商戶平台登記的支付域名與線上不一致。JSAPI 場景:檢查 AppID 綁定,而不是去改 H5 域名。
小程序能登入但拉不起支付
小程序能登入但拉不起支付
支付 AppID、小程序登入 AppID、商戶平台綁定的 AppID 必須是同一個;JSAPI 產品已開通;openid 在服務端換取。
電腦端無法支付
電腦端無法支付
商戶號未開通 Native。開通後再說明需要 PC 掃碼,讓 AI 改接入方式。
前端顯示成功但內容沒解鎖
前端顯示成功但內容沒解鎖
用戶端 success 不可靠。查 Edge Function 日誌、商戶平台交易單,以及回調是否驗簽成功、金額是否一致。
superun 支付(托管)
不想自己對接商戶號時,用平台托管的微信 / 支付寶收款。

