微信支付—关于sgin签名的坑

    最近弄app微信支付开发,关于微信API中服务端统一下单调取微信支付接口中sign签名的巨坑做介绍:

一、如图:统一下单

微信支付—关于sgin签名的坑_第1张图片


该签名方式见微信API:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=4_3


二:如图:调起微信支付接口

微信支付—关于sgin签名的坑_第2张图片


这里我是将统一下单接口返回的xml转换成JSON,

        if(jsonObject.getString("return_code").equals("SUCCESS")){
                String appid = jsonObject.getString("appid");
                String partnerid =jsonObject.getString("partnerid");
                String prepayid = jsonObject.getString("prepay_id");
                String pack= jsonObject.getString("package");
                String noncestr = jsonObject.getString("nonce_str");
                String timestamp = jsonObject.getString("timestamp");
                
                String signA = "appid=" + appid + "&noncestr=" + noncestr + "&package="
                        + pack  + "&partnerid=" + partnerid  + "&prepayid=" + prepayid + "×tamp=" + timestamp;
                
                String stringSignTemp = signA + "&key=" + Settings.WX_key; // 根据签名格式组装数据,详见微信支付api

                String sign = DigestUtils.md5Hex(
                        WeiXinPayUtil.getContentBytes(stringSignTemp, "UTF-8")).toUpperCase();


 重新生成sgin后将其他所需数据一起封装好传给客户端









你可能感兴趣的:(微信开发)