mirror of
https://gitee.com/egzosn/pay-java-parent.git
synced 2026-05-08 03:56:48 +08:00
微信沙盒测试流程中,发送xml格式的参数请求application/xml
This commit is contained in:
@@ -38,6 +38,7 @@ import static com.egzosn.pay.common.http.UriVariables.getMapToParameters;
|
||||
public class ClientHttpRequest<T> extends HttpEntityEnclosingRequestBase implements org.apache.http.client.ResponseHandler<T> {
|
||||
protected static final Log LOG = LogFactory.getLog(ClientHttpRequest.class);
|
||||
public static final ContentType APPLICATION_FORM_URLENCODED_UTF_8 = ContentType.create("application/x-www-form-urlencoded", Consts.UTF_8);
|
||||
public static final ContentType APPLICATION_XML_UTF_8 = ContentType.create("application/xml", Consts.UTF_8);
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,30 +1,69 @@
|
||||
package com.egzosn.pay.wx.api;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.net.URLEncoder;
|
||||
import java.security.GeneralSecurityException;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.SortedMap;
|
||||
import java.util.TreeMap;
|
||||
import java.util.zip.GZIPInputStream;
|
||||
|
||||
import static com.egzosn.pay.wx.api.WxConst.APPID;
|
||||
import static com.egzosn.pay.wx.api.WxConst.CIPHER_ALGORITHM;
|
||||
import static com.egzosn.pay.wx.api.WxConst.FAIL;
|
||||
import static com.egzosn.pay.wx.api.WxConst.FAILURE;
|
||||
import static com.egzosn.pay.wx.api.WxConst.HMACSHA256;
|
||||
import static com.egzosn.pay.wx.api.WxConst.HMAC_SHA256;
|
||||
import static com.egzosn.pay.wx.api.WxConst.MCH_ID;
|
||||
import static com.egzosn.pay.wx.api.WxConst.NONCE_STR;
|
||||
import static com.egzosn.pay.wx.api.WxConst.OUT_TRADE_NO;
|
||||
import static com.egzosn.pay.wx.api.WxConst.RESULT_CODE;
|
||||
import static com.egzosn.pay.wx.api.WxConst.RETURN_CODE;
|
||||
import static com.egzosn.pay.wx.api.WxConst.RETURN_MSG_CODE;
|
||||
import static com.egzosn.pay.wx.api.WxConst.SANDBOXNEW;
|
||||
import static com.egzosn.pay.wx.api.WxConst.SIGN;
|
||||
import static com.egzosn.pay.wx.api.WxConst.SUCCESS;
|
||||
import static com.egzosn.pay.wx.api.WxConst.URI;
|
||||
import static com.egzosn.pay.wx.bean.WxTransferType.GETTRANSFERINFO;
|
||||
import static com.egzosn.pay.wx.bean.WxTransferType.QUERY_BANK;
|
||||
import static com.egzosn.pay.wx.bean.WxTransferType.TRANSFERS;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.egzosn.pay.common.api.BasePayService;
|
||||
import com.egzosn.pay.common.bean.*;
|
||||
import com.egzosn.pay.common.bean.MethodType;
|
||||
import com.egzosn.pay.common.bean.PayMessage;
|
||||
import com.egzosn.pay.common.bean.PayOrder;
|
||||
import com.egzosn.pay.common.bean.PayOutMessage;
|
||||
import com.egzosn.pay.common.bean.RefundOrder;
|
||||
import com.egzosn.pay.common.bean.SignType;
|
||||
import com.egzosn.pay.common.bean.TransactionType;
|
||||
import com.egzosn.pay.common.bean.TransferOrder;
|
||||
import com.egzosn.pay.common.bean.result.PayException;
|
||||
import com.egzosn.pay.common.exception.PayErrorException;
|
||||
import com.egzosn.pay.common.http.ClientHttpRequest;
|
||||
import com.egzosn.pay.common.http.HttpConfigStorage;
|
||||
import com.egzosn.pay.common.http.HttpStringEntity;
|
||||
import com.egzosn.pay.common.util.DateUtils;
|
||||
import com.egzosn.pay.common.util.Util;
|
||||
import com.egzosn.pay.common.util.XML;
|
||||
import com.egzosn.pay.common.util.sign.SignUtils;
|
||||
import com.egzosn.pay.common.util.sign.encrypt.RSA2;
|
||||
import com.egzosn.pay.common.util.str.StringUtils;
|
||||
import com.egzosn.pay.wx.bean.*;
|
||||
|
||||
import java.io.*;
|
||||
import java.net.URLEncoder;
|
||||
import java.security.GeneralSecurityException;
|
||||
import java.util.*;
|
||||
import java.util.zip.GZIPInputStream;
|
||||
import java.util.zip.GZIPOutputStream;
|
||||
import java.util.zip.ZipEntry;
|
||||
import java.util.zip.ZipInputStream;
|
||||
|
||||
import static com.egzosn.pay.wx.api.WxConst.*;
|
||||
import static com.egzosn.pay.wx.bean.WxTransferType.*;
|
||||
import com.egzosn.pay.wx.bean.RedpackOrder;
|
||||
import com.egzosn.pay.wx.bean.WxPayError;
|
||||
import com.egzosn.pay.wx.bean.WxPayMessage;
|
||||
import com.egzosn.pay.wx.bean.WxRefundResult;
|
||||
import com.egzosn.pay.wx.bean.WxSendredpackType;
|
||||
import com.egzosn.pay.wx.bean.WxTransactionType;
|
||||
import com.egzosn.pay.wx.bean.WxTransferType;
|
||||
|
||||
/**
|
||||
* 微信支付服务
|
||||
@@ -305,7 +344,8 @@ public class WxPayService extends BasePayService<WxPayConfigStorage> implements
|
||||
String sign = createSign(SignUtils.parameterText(parameters, "&", SIGN, "appId"), payConfigStorage.getInputCharset(), false);
|
||||
parameters.put(SIGN, sign);
|
||||
|
||||
JSONObject result = requestTemplate.postForObject(getReqUrl(WxTransactionType.GETSIGNKEY), XML.getMap2Xml(parameters), JSONObject.class);
|
||||
HttpStringEntity entity = new HttpStringEntity(XML.getMap2Xml(parameters), ClientHttpRequest.APPLICATION_XML_UTF_8);
|
||||
JSONObject result = requestTemplate.postForObject(getReqUrl(WxTransactionType.GETSIGNKEY), entity, JSONObject.class);
|
||||
if (SUCCESS.equals(result.get(RETURN_CODE))) {
|
||||
return result.getString("sandbox_signkey");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user