## 簽名算法
簽名生成的通用步驟如下:
第一步,設所有發送或者接收到的數據為集合M,將集合M內非空參數值的參數按照參數名ASCII碼從小到大排序(字典序),使用URL鍵值對的格式(即key1=value1&key2=value2…)拼接成字符串stringA。
特別注意以下重要規則:
◆ 參數名ASCII碼從小到大排序(字典序);
◆ 如果參數的值為空不參與簽名;
◆ 參數名區分大小寫;
◆ 驗證調用返回或建業支付平臺主動通知簽名時,傳送的sign參數不參與簽名,將生成的簽名與該sign值作校驗。
◆ 文中涉及md5均為小寫32位,sign=md5(key),比如:md5(jyzz2019)
第二步,在stringA最后拼接上key得到stringSignTemp字符串,并對stringSignTemp進行MD5運算(結果是小寫),得到sign值signValue。
◆ key獲取路徑:測試數據請參考[測試賬戶](http://www.hmoore.net/zzkpay/jyzzpay/1036054),生產數據請聯系業務人員獲取。
舉例:
假設傳送的業務參數如下:
```
appId: ea5d5a258f
mchId: 1111
orderAmount: 1000
body: test
nonceStr: ibuaiVcKdpRxkhJA
```
第一步:對參數按照key=value的格式,并按照參數名ASCII字典序排序如下:
```
stringA="appId=ea5d5a258f&body=test&mchId=10000100&nonceStr=ibuaiVcKdpRxkhJA&orderAmount=1000";
```
第二步:拼接API密鑰,獲取sign:
```
stringSignTemp=stringA+"&key=md5(key)"//注:key為支付平臺分發的密鑰key
sign=md5(stringSignTemp)="96e79218965eb72c92a549dd5a330112"//注:md5簽名方式
```
最終獲得JSON字符串:
```
{"appid":"ea5d5a258f","mch_id":10000100,"orderAmount":10000,"nonce_str":"ibuaiVcKdpRxkhJA","sign":"96e79218965eb72c92a549dd5a330112"}
```
第三步:業務參數JSON加密,獲取最終上送數據:
對JSON串進行3des加密,如3des(JSON,desKey)
desKey :3des加密所需key
```
{"data":"e3ceb5881a0a1fdaad01296d#m0a1fdaad01296d#m0a1fdaad01296d#m0a1fdaad01296d#mM"}
```
- 文檔說明
- 項目說明
- 修改記錄
- 場景介紹
- 業務流程
- 開發步驟
- 注意事項
- 可配置密鑰簽名
- 2.0版本變更說明
- 接口規則
- 協議規則
- 安全規范
- 測試賬戶
- 測試信息
- API文檔
- 收銀臺
- Android
- IOS
- H5支付
- 掃碼付
- 體系外付款碼
- 瀏覽器H5收銀臺
- 交易查詢
- 交易通知
- 申請退款
- 退款查詢
- 退款通知
- 批量退款
- 對賬單下載
- prepareUrl
- 關閉訂單
- 查詢訂單版本
- 商戶
- 商戶費率信息編輯
- 商戶錄入
- 商戶編輯
- 查詢平臺店鋪id
- 獲取商戶可結算信息
- 獲取登錄名是否存在
- 查詢卡系統商戶ID
- 大食堂商戶進件
- 大食堂商戶編輯
- 大食堂商戶費率信息編輯
- 大食堂平臺服務費信息編輯
- 結算相關
- 觸發結算補單
- 接收結算訂單
- 團購業務拆單(多次子訂單退款)
- 優惠券下單消費
- 優惠券退款
- 優惠券接收接收訂單
- 查詢拆單結算數據
- 分期結算入賬
- 建業+線下訂單拆單
- 掃碼支付
- 掃碼預下單
- 掃碼退款
- 支付訂單查詢
- 退款訂單查詢
- 掃碼交易通知
- 掃碼退款通知
- 文檔描述
- 客戶端
- 掃碼支付獲取支付列表
- 刷新支付二維碼
- 掃碼支付設置支付順序
- 設置是否免密支付
- 獲取設置支付列表
- 發起支付
- 長連接通知app
- app掃碼預下單測試
- 小額免密協議
- 使用說明
- 設置免密支付詳情
- 獲取app支付頁支付類型與支付訂單詳情
- 我的優惠券列表
- 可用優惠券
- 獲取優惠券單個
- PC端二維碼生成規則
- 共享財務
- 刪除接口
- 服務商日賬單查詢
- 服務商商戶日賬單對賬
- H5/小程序-支付方式列表
- H5/小程序-掃碼支付接口
- H5/小程序掃碼新支付接口
- H5/小程序掃碼新支付方式列表
- H5/小程序掃碼查詢通寶+折扣
- 支付sdk
- 獲取支付列表
- 支付下單
- 查詢是否實名
- APP微信小程序下單(APP端)
- 訂單狀態查詢
- 微信小程序預下單拉起支付(小程序端)
- 應答碼說明
- 聯系我們
- 大額匯款
- 大額預下單
- 大額訂單查詢
- 大額匯款下單
- 業務方校驗加密-prepareUrl
- 大額通道通知匯款成功
- 大額通知
- 大額匯款單查詢
- 大額訂單列表查詢
- 大額訂單詳情查詢
- 組件跳轉路徑
- 大額訂單取消
- 對接注意事項
- pos大額
- 下單
- pos支付成功
- pos每筆支付
- pos每筆撤銷
- pos支付記錄查詢
- pos大額每筆異步通知
- 協作
- 統一傳遞變量
- 應答碼
- 應用日志目錄規范
- 公眾號/服務窗H5
- 傳入參數
- 支付列表
- 支付下單
- 抖音支付
- 抖音支付下單
- 代付
- 代付發起
- 代付查詢
- 異步通知
- 易生賬戶余額
- 其他業務
- 極速退款-商家補貼
- 超時賠付
- 通知業務完成
- 大食堂商戶附加費入賬
- 業務方自動對賬
- 查詢業務方賬單總計
- 獲取建業+對應賬單詳情
- 通知建業+需要補推送拆單
- 補單推送結算
- 商戶統一進件業務
- 獲取token
- 商戶進件
- 商戶進件預加載數據獲取
- 上傳圖片
- 獲取商戶查看編輯數據
- 商戶修改
- 獲取門店預加載數據
- 門店進件
- 獲取門店查看編輯數據
- 門店修改
- 凱強需要的獲取門店信息接口
- Mq隊列數據格式
- 獲取分支銀行信息
- 營銷補貼
- 營銷補貼拆單
- 新營銷補貼拆單-支持多筆
- 業務成功通知
- 查詢代理及所屬服務商
- 查詢門店、商戶、代理、服務商
- 根據類型和id查詢數據
- 中房
- 中房-獲取支付列表
- 業務方統一對賬
- 業務方上傳賬單
- 獲取平臺方日賬單詳情
- 異常訂單處理
- 回調通知賬單對比結果
- 獲取業務方賬單
- 獲取商戶賬單
- 大額支付查詢
- 銀基商城
- 實體卡消費拆單
- 異步通知拆單結果
- E卡結算單首頁
- 去結算的賬戶信息
- 結算記錄
- 確認結算
- 駁回結算
- 修改同步狀態
- 結算記錄的賬戶信息
- 支付H5(手機瀏覽器)
- 傳入H5參數
- H5支付列表
- 支付下單接口
- 實體卡消費
- 實體卡消費接口
- H5商戶統一進件
- 發驗證碼
- 錄件員登錄
- 進行中的錄單列表/數量
- 錄單詳情
- 獲取二維碼
- 商戶登錄
- 商鋪列表
- 門店詳情
- 新建門店
- 錄單員新建商戶
- 代商戶入件
- 商戶自助入件
- 上傳文件
- 商戶獲取個人檔案信息
- 錄單員獲取商戶檔案信息
- 查詢商戶信息
- 創建商戶結果
- tp-商戶獲取token
- tp-獲取商戶進件狀態
- tp-根據token獲取初始化權限信息
- 共享家園
- 對接說明
- 接收結算數據
- 至尊通道對賬
- 接收通道通知
- 社區商業
- 現金入賬
- 代理賬戶
- 分賬明細
- 請求現金收賬單
- 確認收賬單狀態
- 更新賬單狀態
- pos支付
- pos掃碼支付
- 查詢商戶信息
- 獲取訂單列表
- pos退款
- pos實體卡消費
- pos通寶+消費
- 車位寶
- 車位寶交付