Skip to content

Commit cb1249f

Browse files
committed
添加被误移除的getJSSDKCallbackData方法
1 parent fbefe7f commit cb1249f

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpPayService.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package me.chanjar.weixin.mp.api;
22

33
import me.chanjar.weixin.common.exception.WxErrorException;
4+
import me.chanjar.weixin.mp.bean.pay.WxPayJsSDKCallback;
45
import me.chanjar.weixin.mp.bean.pay.request.WxEntPayRequest;
56
import me.chanjar.weixin.mp.bean.pay.request.WxPayRefundRequest;
67
import me.chanjar.weixin.mp.bean.pay.request.WxPaySendRedpackRequest;
@@ -63,6 +64,13 @@ public interface WxMpPayService {
6364
*/
6465
WxPayRefundResult refund(WxPayRefundRequest request, File keyFile) throws WxErrorException;
6566

67+
/**
68+
* 读取支付结果通知
69+
* 详见http://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_7
70+
*
71+
*/
72+
WxPayJsSDKCallback getJSSDKCallbackData(String xmlData) throws WxErrorException;
73+
6674
/**
6775
* <pre>
6876
* 计算Map键值对是否和签名相符,

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpPayServiceImpl.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import me.chanjar.weixin.common.util.xml.XStreamInitializer;
88
import me.chanjar.weixin.mp.api.WxMpPayService;
99
import me.chanjar.weixin.mp.api.WxMpService;
10+
import me.chanjar.weixin.mp.bean.pay.WxPayJsSDKCallback;
1011
import me.chanjar.weixin.mp.bean.pay.request.*;
1112
import me.chanjar.weixin.mp.bean.pay.result.*;
1213
import org.apache.commons.codec.digest.DigestUtils;
@@ -96,6 +97,18 @@ private void checkParameters(WxPayRefundRequest request) throws WxErrorException
9697
}
9798
}
9899

100+
@Override
101+
public WxPayJsSDKCallback getJSSDKCallbackData(String xmlData) throws WxErrorException {
102+
try {
103+
XStream xstream = XStreamInitializer.getInstance();
104+
xstream.alias("xml", WxPayJsSDKCallback.class);
105+
return (WxPayJsSDKCallback) xstream.fromXML(xmlData);
106+
} catch (Exception e) {
107+
e.printStackTrace();
108+
throw new WxErrorException(WxError.newBuilder().setErrorMsg("发生异常" + e.getMessage()).build());
109+
}
110+
}
111+
99112
@Override
100113
public boolean checkJSSDKCallbackDataSignature(Map<String, String> kvm,
101114
String signature) {

0 commit comments

Comments
 (0)