Просмотр исходного кода

fix car pay

release_toaliyun_real
lin 3 лет назад
Родитель
Сommit
66a7e1b391
3 измененных файлов: 23 добавлений и 4 удалений
  1. +7
    -0
      mallinkService/src/main/java/com/iformall/pay/WxPay.java
  2. +14
    -2
      mallinkService/src/main/java/com/iformall/pay/WxPayment.java
  3. +2
    -2
      mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v2/miniApp/appPay/WxMiniAppPayAdapterService.java

+ 7
- 0
mallinkService/src/main/java/com/iformall/pay/WxPay.java Просмотреть файл

@@ -80,6 +80,9 @@ public class WxPay {
public static String pushOrder(Map<String, String> params) {
return doPost(UNIFIEDORDER_URL, params);
}
public static String pushOrderWithChines(Map<String, String> params) {
return doPostWithChinese(UNIFIEDORDER_URL, params);
}

/**
* 订单查询
@@ -333,6 +336,10 @@ public class WxPay {
public static String doPost(String url, Map<String, String> params) {
return HttpUtil.payPost(url, WxPayment.toXml(params));
}
public static String doPostWithChinese(String url, Map<String, String> params) {
return HttpUtil.payPost(url, WxPayment.toXmlWhitChinese(params));
}

public static String doPostSSL(String url, Map<String, String> params, String certPath, String certPass) {
return HttpUtil.payPostSSL(url, WxPayment.toXml(params), certPath, certPass);


+ 14
- 2
mallinkService/src/main/java/com/iformall/pay/WxPayment.java Просмотреть файл

@@ -486,7 +486,7 @@ public class WxPayment {
* 参数
* @return String
*/
public static String toXml(Map<String, String> params) {
private static String toXmlContent(Map<String, String> params,boolean containChinese) {
StringBuilder xml = new StringBuilder();
xml.append("<xml>");
for (Entry<String, String> entry : params.entrySet()) {
@@ -501,12 +501,24 @@ public class WxPayment {
}
xml.append("</xml>");
try {
return new String(xml.toString().getBytes("utf-8"),"ISO-8859-1");
if (containChinese) {
return new String(xml.toString().getBytes("utf-8"),"ISO-8859-1");
}else {
return xml.toString();
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return null;
}
}
public static String toXml(Map<String, String> params) {
return toXmlContent(params,false);
}
public static String toXmlWhitChinese(Map<String, String> params) {
return toXmlContent(params,true);
}

/**
* 针对支付的xml,没有嵌套节点的简单处理


+ 2
- 2
mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v2/miniApp/appPay/WxMiniAppPayAdapterService.java Просмотреть файл

@@ -279,7 +279,7 @@ public class WxMiniAppPayAdapterService extends BaseWxPayV2AdapterService implem
public PayAdapterResult pay(String openId,String appId,String mchId,String productName,String attach,String payOrderNo,Integer fee,String ip,String notifyUrl,String apiKey,Date currentDate) throws Exception {
WxPayOrderP wxPayOrderP = generateWxPayOrderP(openId, appId, mchId, productName, attach, payOrderNo, fee, ip, notifyUrl, apiKey, currentDate,null);
String response = WxPay.pushOrder(BeanUtils.toStringMap(wxPayOrderP));
String response = WxPay.pushOrderWithChines(BeanUtils.toStringMap(wxPayOrderP));
log.info("pay order, wechat pushOrder, " + wxPayOrderP.toString() + ", response: " + response.toString());
Map<String, String> returnMap = WxPayment.xmlToMap(response);
return getOrderPResult(returnMap,wxPayOrderP.getNonce_str(),apiKey,null);
@@ -288,7 +288,7 @@ public class WxMiniAppPayAdapterService extends BaseWxPayV2AdapterService implem
public PayAdapterResult payIsv(WxPayAccount payAccount,WxAppinfo appInfo,String subMchId,String openId,String productName,String attach,String payOrderNo,Integer fee,String ip,String notifyUrl,Date currentDate,boolean share) throws Exception {
String apiKey = payAccount.getApiKey();
WxPayOrderSP wxPayOrderP = generateWxPayOrderSP(openId,appInfo.getParentAppId(),payAccount.getMchId(),appInfo.getAppId(),subMchId,productName,attach,payOrderNo,fee,ip,notifyUrl,null,currentDate,share,apiKey);
String response = WxPay.pushOrder(BeanUtils.toStringMap(wxPayOrderP));
String response = WxPay.pushOrderWithChines(BeanUtils.toStringMap(wxPayOrderP));
log.info("pay order, wechat pushOrder, " + wxPayOrderP.toString() + ", response: " + response.toString());
Map<String, String> returnMap = WxPayment.xmlToMap(response);
return getOrderSPResult(returnMap,null,appInfo.getAppId(),wxPayOrderP.getNonce_str(),apiKey);


Загрузка…
Отмена
Сохранить