添加被误移除的getJSSDKCallbackData方法

This commit is contained in:
Binary Wang 2016-10-26 11:54:28 +08:00
parent fbefe7f78d
commit cb1249fbd7
2 changed files with 21 additions and 0 deletions

View File

@ -1,6 +1,7 @@
package me.chanjar.weixin.mp.api;
import me.chanjar.weixin.common.exception.WxErrorException;
import me.chanjar.weixin.mp.bean.pay.WxPayJsSDKCallback;
import me.chanjar.weixin.mp.bean.pay.request.WxEntPayRequest;
import me.chanjar.weixin.mp.bean.pay.request.WxPayRefundRequest;
import me.chanjar.weixin.mp.bean.pay.request.WxPaySendRedpackRequest;
@ -63,6 +64,13 @@ public interface WxMpPayService {
*/
WxPayRefundResult refund(WxPayRefundRequest request, File keyFile) throws WxErrorException;
/**
* 读取支付结果通知
* 详见http://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_7
*
*/
WxPayJsSDKCallback getJSSDKCallbackData(String xmlData) throws WxErrorException;
/**
* <pre>
* 计算Map键值对是否和签名相符,

View File

@ -7,6 +7,7 @@ import me.chanjar.weixin.common.util.BeanUtils;
import me.chanjar.weixin.common.util.xml.XStreamInitializer;
import me.chanjar.weixin.mp.api.WxMpPayService;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.bean.pay.WxPayJsSDKCallback;
import me.chanjar.weixin.mp.bean.pay.request.*;
import me.chanjar.weixin.mp.bean.pay.result.*;
import org.apache.commons.codec.digest.DigestUtils;
@ -96,6 +97,18 @@ public class WxMpPayServiceImpl implements WxMpPayService {
}
}
@Override
public WxPayJsSDKCallback getJSSDKCallbackData(String xmlData) throws WxErrorException {
try {
XStream xstream = XStreamInitializer.getInstance();
xstream.alias("xml", WxPayJsSDKCallback.class);
return (WxPayJsSDKCallback) xstream.fromXML(xmlData);
} catch (Exception e) {
e.printStackTrace();
throw new WxErrorException(WxError.newBuilder().setErrorMsg("发生异常" + e.getMessage()).build());
}
}
@Override
public boolean checkJSSDKCallbackDataSignature(Map<String, String> kvm,
String signature) {