From f379769c1e721d13e3efd65a0205b03ff9ec179a Mon Sep 17 00:00:00 2001 From: SunshineTech Zhang Date: Thu, 1 Nov 2018 15:44:29 +0800 Subject: [PATCH] =?UTF-8?q?#828=20=E4=BC=98=E5=8C=96=E6=94=AF=E4=BB=98?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=E9=80=9A=E7=9F=A5=E7=B1=BB=E7=9A=84checkResu?= =?UTF-8?q?lt=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 该方法重写了基类中的同名方法。 return_code为SUCCESS时,如果sign为空,则该通知请求是非微信通知请求,因此抛出异常。 否则,调用基类同名方法。 --- .../bean/notify/WxPayOrderNotifyResult.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/notify/WxPayOrderNotifyResult.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/notify/WxPayOrderNotifyResult.java index 9fc9cebe..895ffb78 100644 --- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/notify/WxPayOrderNotifyResult.java +++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/notify/WxPayOrderNotifyResult.java @@ -284,7 +284,25 @@ public class WxPayOrderNotifyResult extends BaseWxPayResult { */ @XStreamAlias("version") private String version; - + + /** + * 校验返回结果签名. + * + * @param wxPayService the wx pay service + * @param signType 签名类型 + * @param checkSuccess 是否同时检查结果是否成功 + * @throws WxPayException the wx pay exception + */ + @Override + public void checkResult(WxPayService wxPayService, String signType, boolean checkSuccess) throws WxPayException { + //防止伪造成功通知 + if ("SUCCESS".equals(getReturnCode()) && getSign() == null) { + throw new WxPayException("伪造的通知!"); + } + + super.checkResult(wxPayService, signType, checkSuccess); + } + /** * From xml wx pay order notify result. *