微信JSAPI支付 (签名问题)

2023年3月29日

jsapi微信底层是在就不过多描述了,主要记录一下,查了很多资料,发现微信还需要返给前台的参数还需要进行一次签名,不然前台就会提示签名错误

            // dic微信返回的
            Map reqData = new HashMap();
            String timeStamp = String.valueOf(WXPayUtil.getCurrentTimestamp());
            String prepay_id = "prepay_id=" + dic.get("prepay_id");

            reqData.put("appId", dic.get("appid"));
            reqData.put("timeStamp", timeStamp);
            reqData.put("nonceStr", dic.get("nonce_str"));
            reqData.put("package", prepay_id);
            reqData.put("signType", WXPayConstants.MD5);

使用MD5进行签名

String paySign = WXPayUtil.generateSignature(reqData, "微信商户号的key", WXPayConstants.SignType.MD5);

返回前端参数

Map data = new HashMap();
data.put("appId", dic.get("appid"));
data.put("timeStamp", timeStamp);
data.put("nonceStr", dic.get("nonce_str"));
data.put("package", prepay_id);
data.put("paySign", paySign);
data.put("signType", WXPayConstants.MD5);
data.put("mch_id", dic.get("mch_id"));
data.put("nvcOrderNumber", dic.get("out_trade_no"));

前端调起支付

描述比较简单,只是记录,仅供参考

服务器托管,北京服务器托管,服务器租用 http://www.hhisp.net

hackdl

咨询热线/微信 13051898268