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步的时间戳"
}
复制代码
相关文章
相关标签/搜索