簽名算法
簽名生成的通用步驟如下:
第一步,設所有發送或者接收到的數據為集合M,將集合M內非空參數值的參數按照參數名ASCII碼從小到大排序(字典序),使用URL鍵值對的格式(即key1=value1&key2=value2…)拼接成字符串stringA。
特別注意以下重要規則:
參數名ASCII碼從小到大排序(字典序)
如果參數的值為空不參與簽名
參數名區分大小寫
驗證調用返回時,傳送的sign參數不參與簽名,將生成的簽名與該sign值作校驗。
若參數中有收款信息,則需要將其轉為JSON。
收款信息異步回調中的收款信息需要先轉為數組,再將其轉為JSON,才可參與簽名。
第二步,在stringA最後拼接上key得到stringSignTemp字符串,並對stringSignTemp進行MD5運算,再將得到的字符串所有字符轉換為大寫,得到sign值signValue。注意:密鑰的長度為32個字節。key为商戶ApiKey。
舉例:
假設傳送的參數如下:
mchId:IPq15ZFXBFLIqRuY
mchTransNo:123456789
coinName:INR
amount:100
notifyUrl:https://test.com
paymentNotifyUrl:https://test.com第一步:對參數按照key=value的格式,並按照參數名ASCII字典序排序如下:
第二步:拼接商戶ApiKey,生成簽名:
Last updated