古詩詞大全網 - 個性簽名 - 微信小程序-微信支付簽名驗證

微信小程序-微信支付簽名驗證

在微信支付之後,小程序會主動向服務端發送支付狀態.為了防止惡意篡改,必須生成簽名發送給服務端進行驗證.

簽名生成官方文檔:/wiki/doc/api/jsapi.php?chapter=4_3

簽名驗證分為如下幾步:

1.與服務端確認上傳的簽名內容(即上傳參數key=value)以及加密方式.並且要到商戶平臺設置的密鑰key.

2.生成隨機字符串nonceStr.

3.將要上傳的參數,對參數按照key=value的格式,並按照參數名ASCII字典序排序,比如:

假設傳送的參數如下:?

appid: wxd930ea5d5a258f4f?

mch_id: 10000100?

device_info: 1000?

body: test?

nonce_str: ibuaiVcKdpRxkhJA

則:stringA="appid=wxd930ea5d5a258f4f&body=test&device_info=1000&mch_id=10000100&nonce_str=ibuaiVcKdpRxkhJA";

4.拼接API密鑰,例如:stringSignTemp=stringA+"&key=192006250b4c09247ec02edce69f6a2d"?//註:key為商戶平臺設置的密鑰key

5.對拼接秘鑰後的字符串進行加密並且轉換為大寫.(加密方式自定)

6.將參數以及加密得到的sign壹起上傳給服務端進行驗證.

7.查看服務端返回結果.

謝謝大家~