微信支付 java后台代码

最近在写微信支付的后台接口,遇到一个非常头疼的问题,app一直提示“支付验证签名错误”,但是小程序可以正常支付。由于第一次做微信支付,没有经验,这个问题,调查了一天一直没有头绪。直到看到一位大侠分享的帖子,尝试着改了一下,结果....居然成功了,惊喜就是来的这么突然。现在把代码贴上来,非常感谢那位大侠,也希望能帮到更多第一次做微信支付的人。

 

1、这是app第二次签名时候的参数,一定要注意大小写!!!

SortedMap prepayMap = new TreeMap();
prepayMap.put("appid", appid);
prepayMap.put("partnerid", mch_id);
prepayMap.put("prepayid", prepay_id);
prepayMap.put("package", "Sign=WXPay");
prepayMap.put("noncestr", nonce_str);
prepayMap.put("timestamp", time);

String sign1 = PayForUtil.createSign("UTF-8", prepayMap, key);  //获取签名
prepayMap.put("sign", sign1);

 

 2、这是小程序第二次签名时候的参数,一定要注意大小写!!!不要嫌我啰嗦,毕竟是我踩过坑的人

SortedMap prepayMap = new TreeMap();
prepayMap.put("appId", appid);
prepayMap.put("timeStamp", time);
prepayMap.put("nonceStr", nonce_str);
prepayMap.put("package", "prepay_id=" + prepay_id);

prepayMap.put("signType", "MD5");
String sign1 = PayForUtil.createSign("UTF-8", prepayMap, key);  //获取签名
prepayMap.put("sign", sign1);
prepayMap.put("prepay_id", prepay_id);

你可能感兴趣的:(微信支付,java后台)