Skip to content

Commit 2ab389e

Browse files
committed
微信支付修复2.8.2.BETA版本引入的签名问题
1 parent 65ef21b commit 2ab389e

File tree

2 files changed

+5
-12
lines changed

2 files changed

+5
-12
lines changed

weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/WxPayServiceAbstractImpl.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -147,10 +147,8 @@ public WxPaySendRedpackResult sendRedpack(WxPaySendRedpackRequest request) throw
147147
}
148148

149149
String responseContent = this.post(url, request.toXML(), true);
150-
WxPaySendRedpackResult result = WxPayBaseResult.fromXML(responseContent, WxPaySendRedpackResult.class);
151-
//毋须校验,因为没有返回签名信息
152-
// this.checkResult(result);
153-
return result;
150+
//无需校验,因为没有返回签名信息
151+
return WxPayBaseResult.fromXML(responseContent, WxPaySendRedpackResult.class);
154152
}
155153

156154
@Override

weixin-java-pay/src/main/java/com/github/binarywang/wxpay/util/SignUtils.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import me.chanjar.weixin.common.util.BeanUtils;
66
import org.apache.commons.codec.binary.Hex;
77
import org.apache.commons.codec.digest.DigestUtils;
8+
import org.apache.commons.lang3.StringUtils;
89

910
import javax.crypto.Mac;
1011
import javax.crypto.spec.SecretKeySpec;
@@ -44,19 +45,13 @@ public static String createSign(Object xmlBean, String signKey, String signType)
4445
* @return 签名字符串
4546
*/
4647
public static String createSign(Map<String, String> params, String signKey, String signType) {
47-
// if (this.getConfig().useSandbox()) {
48-
// //使用仿真测试环境
49-
// //TODO 目前测试发现,以下两行代码都会出问题,所以暂不建议使用仿真测试环境
50-
// signKey = "ABCDEFGHIJKLMNOPQRSTUVWXYZ123456";
51-
// //return "ABCDEFGHIJKLMNOPQRSTUVWXYZ123456";
52-
// }
53-
5448
SortedMap<String, String> sortedMap = new TreeMap<>(params);
5549

5650
StringBuilder toSign = new StringBuilder();
5751
for (String key : sortedMap.keySet()) {
5852
String value = params.get(key);
59-
if (!Lists.newArrayList("sign", "key", "sign_type").contains(key)) {
53+
if (StringUtils.isNotEmpty(value) &&
54+
!Lists.newArrayList("sign", "key", "sign_type").contains(key)) {
6055
toSign.append(key).append("=").append(value).append("&");
6156
}
6257
}

0 commit comments

Comments
 (0)