diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/BaseWxPayServiceImpl.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/BaseWxPayServiceImpl.java index f7626319..ec57e745 100644 --- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/BaseWxPayServiceImpl.java +++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/BaseWxPayServiceImpl.java @@ -342,7 +342,7 @@ public abstract class BaseWxPayServiceImpl implements WxPayService { configMap.put("appid", appId); final WxPayAppOrderResult result = WxPayAppOrderResult.builder() - .sign(SignUtils.createSign(configMap, null, this.getConfig().getMchKey(), null)) + .sign(SignUtils.createSign(configMap, request.getSignType(), this.getConfig().getMchKey(), null)) .prepayId(prepayId) .partnerId(partnerId) .appId(appId) @@ -419,7 +419,7 @@ public abstract class BaseWxPayServiceImpl implements WxPayService { configMap.put("noncestr", nonceStr); configMap.put("appid", appId); // 此map用于客户端与微信服务器交互 - payInfo.put("sign", SignUtils.createSign(configMap, null, this.getConfig().getMchKey(), null)); + payInfo.put("sign", SignUtils.createSign(configMap, request.getSignType(), this.getConfig().getMchKey(), null)); payInfo.put("prepayId", prepayId); payInfo.put("partnerId", partnerId); payInfo.put("appId", appId); @@ -432,8 +432,8 @@ public abstract class BaseWxPayServiceImpl implements WxPayService { payInfo.put("timeStamp", timestamp); payInfo.put("nonceStr", nonceStr); payInfo.put("package", "prepay_id=" + prepayId); - payInfo.put("signType", SignType.MD5); - payInfo.put("paySign", SignUtils.createSign(payInfo, null, this.getConfig().getMchKey(), null)); + payInfo.put("signType", request.getSignType()); + payInfo.put("paySign", SignUtils.createSign(payInfo, request.getSignType(), this.getConfig().getMchKey(), null)); } return payInfo; @@ -457,7 +457,7 @@ public abstract class BaseWxPayServiceImpl implements WxPayService { params.put("time_stamp", String.valueOf(System.currentTimeMillis() / 1000)); params.put("nonce_str", String.valueOf(System.currentTimeMillis())); - String sign = SignUtils.createSign(params, null, this.getConfig().getMchKey(), null); + String sign = SignUtils.createSign(params, SignType.MD5, this.getConfig().getMchKey(), null); params.put("sign", sign); for (String key : params.keySet()) { diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/util/SignUtils.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/util/SignUtils.java index 2883c8b1..47129872 100644 --- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/util/SignUtils.java +++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/util/SignUtils.java @@ -52,7 +52,7 @@ public class SignUtils { */ @Deprecated public static String createSign(Map params, String signKey) { - return createSign(params, null, signKey, new String[0]); + return createSign(params, SignType.MD5, signKey, new String[0]); } /**