From 25a1ee509c44466c43b84bbc4c3e739b1d64365e Mon Sep 17 00:00:00 2001 From: xhxu Date: Fri, 20 Oct 2023 17:08:25 +0800 Subject: [PATCH] //pay bug --- .../pay/ali/BaseAliPayAdapterService.java | 33 +++++++++++-------- .../ali/page/AliPagePayAdapterService.java | 31 ++++++++++------- .../WxNativePayV3AdapterService.java | 2 +- 3 files changed, 40 insertions(+), 26 deletions(-) diff --git a/suimangService/src/main/java/com/iformall/service/pay/service/pay/ali/BaseAliPayAdapterService.java b/suimangService/src/main/java/com/iformall/service/pay/service/pay/ali/BaseAliPayAdapterService.java index a60035b..ced3c73 100644 --- a/suimangService/src/main/java/com/iformall/service/pay/service/pay/ali/BaseAliPayAdapterService.java +++ b/suimangService/src/main/java/com/iformall/service/pay/service/pay/ali/BaseAliPayAdapterService.java @@ -2,6 +2,7 @@ package com.iformall.service.pay.service.pay.ali; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.alipay.api.AlipayApiException; import com.alipay.api.AlipayClient; import com.alipay.api.request.AlipayTradeQueryRequest; import com.alipay.api.response.AlipayTradeQueryResponse; @@ -48,22 +49,28 @@ public class BaseAliPayAdapterService { bizContent.put("out_trade_no", orderPay.getOrderNumber()); request.setBizContent(bizContent.toString()); - AlipayTradeQueryResponse response = alipayClient.execute(request); + try{ + AlipayTradeQueryResponse response = alipayClient.execute(request); - if(response.isSuccess()){ - if("10000".equals(response.getCode())){ - PayQueryAdapterResult result = new PayQueryAdapterResult(); - result.setCode(getPayStatusFrom(response.getTradeStatus())); - result.setTransactionId(response.getTradeNo()); - return result; - } - if("ACQ.TRADE_NOT_EXIST".equals(response.getSubCode())){ - PayQueryAdapterResult result = new PayQueryAdapterResult(); - result.setCode(EnumPayOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode()); - result.setMsg(EnumPayOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getMessage()); - return result; + if(response.isSuccess()){ + if("10000".equals(response.getCode())){ + PayQueryAdapterResult result = new PayQueryAdapterResult(); + result.setCode(getPayStatusFrom(response.getTradeStatus())); + result.setTransactionId(response.getTradeNo()); + return result; + } + if("ACQ.TRADE_NOT_EXIST".equals(response.getSubCode())){ + PayQueryAdapterResult result = new PayQueryAdapterResult(); + result.setCode(EnumPayOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode()); + result.setMsg(EnumPayOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getMessage()); + return result; + } } + + }catch(AlipayApiException e){ + log.error("ali pay query error",e); } + throw new MallinkException(ErrorCode.PAY_ORDER_QUERY_ERROR); } diff --git a/suimangService/src/main/java/com/iformall/service/pay/service/pay/ali/page/AliPagePayAdapterService.java b/suimangService/src/main/java/com/iformall/service/pay/service/pay/ali/page/AliPagePayAdapterService.java index 3a8bde4..11fce50 100644 --- a/suimangService/src/main/java/com/iformall/service/pay/service/pay/ali/page/AliPagePayAdapterService.java +++ b/suimangService/src/main/java/com/iformall/service/pay/service/pay/ali/page/AliPagePayAdapterService.java @@ -1,11 +1,14 @@ package com.iformall.service.pay.service.pay.ali.page; import com.alibaba.fastjson.JSONObject; +import com.alipay.api.AlipayApiException; import com.alipay.api.AlipayClient; import com.alipay.api.request.AlipayTradePagePayRequest; import com.alipay.api.response.AlipayTradePagePayResponse; +import com.iformall.common.ErrorCode; import com.iformall.domain.po.*; import com.iformall.enums.*; +import com.iformall.exception.MallinkException; import com.iformall.service.order.OrderFactory; import com.iformall.service.order.entity.WxComposeOrder; import com.iformall.service.pay.entity.PayExtraParam; @@ -66,21 +69,25 @@ public class AliPagePayAdapterService extends BaseAliPayAdapterService implement bizContent.put("time_expire", after15); request.setBizContent(bizContent.toString()); - AlipayTradePagePayResponse response = alipayClient.pageExecute(request); - PayAdapterResult par = new PayAdapterResult(); - if(response.isSuccess()){ - if("10000".equals(response.getCode())){ - par.setSuccess(true); - par.setTransactionId(response.getTradeNo()); - par.setData(response); - }else{ - par.setSuccess(false); - par.setMsg(response.getMsg()); + try{ + AlipayTradePagePayResponse response = alipayClient.pageExecute(request); + PayAdapterResult par = new PayAdapterResult(); + if(response.isSuccess()){ + if("10000".equals(response.getCode())){ + par.setSuccess(true); + par.setTransactionId(response.getTradeNo()); + par.setData(response); + } } - } else { par.setSuccess(false); + par.setMsg(response.getMsg()); + return par; + }catch(AlipayApiException e){ + log.error("ali pay error",e); + throw new MallinkException(ErrorCode.PAY_ORDER_ERROR.getCode(),e.getMessage()); } - return par; + + } @Override diff --git a/suimangService/src/main/java/com/iformall/service/pay/service/pay/wx/v3/nativePay/WxNativePayV3AdapterService.java b/suimangService/src/main/java/com/iformall/service/pay/service/pay/wx/v3/nativePay/WxNativePayV3AdapterService.java index 090b577..86b777a 100644 --- a/suimangService/src/main/java/com/iformall/service/pay/service/pay/wx/v3/nativePay/WxNativePayV3AdapterService.java +++ b/suimangService/src/main/java/com/iformall/service/pay/service/pay/wx/v3/nativePay/WxNativePayV3AdapterService.java @@ -107,7 +107,7 @@ public class WxNativePayV3AdapterService extends BaseWxPayV3AdapterService imple return getOrderPResult(response,payService,appInfo,payAccount,orderPay.getOrderNumber()); }catch(WxPayException e) { log.error("wexin pay v3 error",e); - throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),e.getCustomErrorMsg()); + throw new MallinkException(ErrorCode.PAY_ORDER_ERROR.getCode(),e.getCustomErrorMsg()); } }