HTTP
簽章產生流程說明
簽章產生流程如下:- 收集所有請求參數
- 依參數名稱排序
- 在字串尾端附加
client_key - 對最終字串進行雜湊(Hash)
- 將簽章結果加入 HTTP Header
步驟 1:排序參數
將所有請求參數依 參數名稱(Parameter Name) 以 ASCII 升冪排序。 範例:| Parameter | Value |
|---|---|
| mchid | ZaMVg12345 |
| txamt | 100 |
| txcurrcd | HKD |
TEXT
步驟 2:附加 client_key
將您的client_key 直接附加在字串最後(不加符號)。
假設:
TEXT
TEXT
步驟 3:進行雜湊
對最終字串進行雜湊計算。- 建議使用 SHA256
- 某些支付通道可能要求 MD5,請依 API 規範為準
TEXT
步驟 4:加入簽章至 Header
將雜湊結果加入請求 Header:HTTP
重要規則
- 必須依參數名稱進行 ASCII 升冪排序
- 不可包含空值(null 或空字串)參數
- 不可將簽章欄位本身納入簽章字串
- 參數名稱與數值皆區分大小寫
- 建立簽章字串時請使用 UTF-8 編碼
- 不可加入空白、換行或額外字元
僅當
mchid 為請求參數之一時,才需納入簽章計算。範例(Node.js)
Node.js
