Android 微信支付的簽名方式

一、微信調用統一訂單後會返回下面結果php

{
    "return_code": "SUCCESS",
    "return_msg": "OK",
    "appid": "APPID",
    "mch_id": "商戶號",
    "nonce_str": "隨機字符串",
    "sign": "081675D3A89B1A735613CF2D777E6F06",
    "prepay_id": "wx201706052018103dd047b0880123350695",
    "result_code": "FAIL",
    "err_code": "ORDERPAID",
    "err_code_des": "該訂單已支付"
}
複製代碼

二、Android 須要服務端再次簽名返回,由於若是在APP端作校驗的話會暴露appkey,對APP的安全性有影響java

三、對下面的字符進行拼接以後簽名產生sign字段,簽名格式查看官方簽名json

注意:這裏的key爲商戶的key,而不是AppSecret;timestamp爲當前的時間戳api

"appid=" + appid + "&noncestr=" + nonce_str + "&package=Sign=WXPay" + "&partnerid=" + mch_id + "&prepayid=" + prepayid + "&timestamp=" + timeStamp + "&key=" + key;
複製代碼

四、最後返回的下面的字段:安全

{
    "appid": "第1步的APPID",
    "mch_id": "第1步的mch_id",
    "prepay_id": "第1步的prepay_id",
    "nonce_str": "第1步的nonce_str",
    "sign": "第3步的簽名,不是第1步的簽名""timestamp":"第3步的時間戳"
}
複製代碼
相關文章
相關標籤/搜索