|
|
@@ -9,6 +9,7 @@ import com.mrxu.framework.common.util.StrFunc;
|
|
|
import com.mrxu.framework.common.xcx.WeixinUtil;
|
|
|
import com.mrxu.framework.common.xcx.bean.*;
|
|
|
|
|
|
+import java.io.InputStream;
|
|
|
import java.util.TreeMap;
|
|
|
|
|
|
public class PayService {
|
|
|
@@ -38,11 +39,11 @@ public class PayService {
|
|
|
}
|
|
|
|
|
|
// https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_4
|
|
|
- public static RefundResponse refund(RefundRequest request, String apiKey,String certName) {
|
|
|
- return request(RefundResponse.class,refund,"POST",request,apiKey,certName);
|
|
|
+ public static RefundResponse refund(RefundRequest request, String apiKey,InputStream certInputStream) {
|
|
|
+ return request(RefundResponse.class,refund,"POST",request,apiKey,certInputStream);
|
|
|
}
|
|
|
|
|
|
- private static <T extends PayBaseResponse> T request(Class<T> clazz, String requestUrl, String requestMethod, Object requestBean, String apiKey, String certName) {
|
|
|
+ private static <T extends PayBaseResponse> T request(Class<T> clazz, String requestUrl, String requestMethod, Object requestBean, String apiKey,InputStream certInputStream) {
|
|
|
MrxuAssert.validateBean(requestBean);
|
|
|
String jsonStr = JSONUtil.toJsonStr(requestBean);
|
|
|
TreeMap<String, Object> parameters = JSONUtil.toBean(jsonStr,new TreeMap<String, String>().getClass());
|
|
|
@@ -50,7 +51,7 @@ public class PayService {
|
|
|
String sign = WeixinUtil.createSign(parameters,apiKey);
|
|
|
parameters.put("sign", sign);
|
|
|
String requestXML = WeixinUtil.getRequestXml(parameters);
|
|
|
- String resultStr = HttpUtil.httpsRequest(requestUrl,requestMethod,requestXML,certName);
|
|
|
+ String resultStr = HttpUtil.httpsRequest(requestUrl,requestMethod,requestXML,certInputStream);
|
|
|
MrxuAssert.isNotEmpty(resultStr,"微信未响应");
|
|
|
System.out.println(resultStr);
|
|
|
JSONObject resultJson = WeixinUtil.doXMLParse(resultStr);
|
|
|
@@ -102,7 +103,7 @@ public class PayService {
|
|
|
request.setOut_refund_no(IdFunc.getId("F"));
|
|
|
request.setTotal_fee(100);
|
|
|
request.setRefund_fee(10);
|
|
|
- refund(request,"7616442b20a95c985ae712d72797c4c7","1514682921");
|
|
|
+ // refund(request,"7616442b20a95c985ae712d72797c4c7","1514682921");
|
|
|
}
|
|
|
|
|
|
|