Преглед изворни кода

fix pay v3

release_toaliyun_real
zhengfangyuan пре 3 година
родитељ
комит
451850ae96
2 измењених фајлова са 27 додато и 2 уклоњено
  1. +2
    -0
      mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/BaseWxPayAdapterService.java
  2. +25
    -2
      mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v3/miniApp/appPay/WxMiniAppPayV3AdapterService.java

+ 2
- 0
mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/BaseWxPayAdapterService.java Прегледај датотеку

@@ -2,6 +2,7 @@ package com.iformall.service.pay.service.pay.wx;


import java.io.File; import java.io.File;
import java.util.Date; import java.util.Date;
import java.util.HashMap;
import java.util.Map; import java.util.Map;


import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@@ -40,6 +41,7 @@ import com.iformall.service.pay.service.pay.entity.PayAdapterResult;
import com.iformall.service.pay.service.pay.entity.PayQueryAdapterResult; import com.iformall.service.pay.service.pay.entity.PayQueryAdapterResult;
import com.iformall.utils.BeanUtils; import com.iformall.utils.BeanUtils;
import com.iformall.utils.MaUtil; import com.iformall.utils.MaUtil;
import com.iformall.utils.MapUtil;
import com.iformall.utils.QRCodeUtils; import com.iformall.utils.QRCodeUtils;
import com.iformall.utils.Utility; import com.iformall.utils.Utility;




+ 25
- 2
mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v3/miniApp/appPay/WxMiniAppPayV3AdapterService.java Прегледај датотеку

@@ -4,6 +4,7 @@ import java.io.File;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;


@@ -108,7 +109,7 @@ public class WxMiniAppPayV3AdapterService extends BaseWxPayV3AdapterService impl
return req; return req;
} }
private PayAdapterResult getOrderPResult(String response,WxPayOrder record) {
private PayAdapterResult getOrderPResult(String response,WxPayOrder record,WxPayAccount payAccount,WxAppinfo appInfo) {
PayAdapterResult par = new PayAdapterResult(); PayAdapterResult par = new PayAdapterResult();
if (StringUtils.isBlank(response)) { if (StringUtils.isBlank(response)) {
par.setSuccess(false); par.setSuccess(false);
@@ -124,11 +125,33 @@ public class WxMiniAppPayV3AdapterService extends BaseWxPayV3AdapterService impl
par.setMsg("success."); par.setMsg("success.");
record.setPrepayId(prepayId); record.setPrepayId(prepayId);
record.setUpdateTime(new Date()); record.setUpdateTime(new Date());
par.setData(getPayRetMap(appInfo, prepayId, payAccount, record));
} }
} }
return par; return par;
} }
private Map getPayRetMap(WxAppinfo appInfo,String prepayId,WxPayAccount payAccount,WxPayOrder record) {
String timestamp = String.valueOf(Utility.getCurrentTimeStamp());
String noncestr = Utility.generate32UUID();
Map<String, String> sighMap = MapUtil.getOrderMap();
sighMap.put("appId", appInfo.getAppId());
sighMap.put("timeStamp", timestamp);
sighMap.put("nonceStr", noncestr);
sighMap.put("package", "prepay_id=" + prepayId);
sighMap.put("signType", "RSA");
String signAgent = WxPayment.createSignHMAC(sighMap, payAccount.getApiKey());
Map returnMap = new HashMap();
returnMap.put("appId", appInfo.getAppId());
returnMap.put("timeStamp", timestamp);
returnMap.put("nonceStr", noncestr);
returnMap.put("package", "prepay_id=" + prepayId);
returnMap.put("paySign", signAgent);
returnMap.put("signType", "RSA");
returnMap.put("payOrderId", String.valueOf(record.getId()));
return returnMap;
}
private V3CombinePayCommonMiniAppReq generateCombinePayReqeust(WxPayAccount payAccount,WxComposeOrder composeOrder,List<WxOrder> childOrders,String productName, private V3CombinePayCommonMiniAppReq generateCombinePayReqeust(WxPayAccount payAccount,WxComposeOrder composeOrder,List<WxOrder> childOrders,String productName,
WxPayOrder record,WxAppinfo appInfo,String openId,String appId,Date currentDate,EnumPayShare isShare) throws Exception { WxPayOrder record,WxAppinfo appInfo,String openId,String appId,Date currentDate,EnumPayShare isShare) throws Exception {
@@ -191,7 +214,7 @@ public class WxMiniAppPayV3AdapterService extends BaseWxPayV3AdapterService impl
V3PayCommonMiniAppReq payReq = generatePayCommonRequest(payAccount,composeOrder,productName,record,openId,appInfo,currentDate); V3PayCommonMiniAppReq payReq = generatePayCommonRequest(payAccount,composeOrder,productName,record,openId,appInfo,currentDate);
try { try {
String response = WxPayV3.payCommonWithMiniApp(payService, payReq); String response = WxPayV3.payCommonWithMiniApp(payService, payReq);
return getOrderPResult(response,record);
return getOrderPResult(response,record,payAccount,appInfo);
}catch(WxPayException e) { }catch(WxPayException e) {
log.error("wexin pay v3 error",e); log.error("wexin pay v3 error",e);
throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),e.getCustomErrorMsg()); throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),e.getCustomErrorMsg());


Loading…
Откажи
Сачувај