| @@ -2,6 +2,7 @@ package com.iformall.service.pay.service.pay.ali; | |||||
| import com.alibaba.fastjson.JSON; | import com.alibaba.fastjson.JSON; | ||||
| import com.alibaba.fastjson.JSONObject; | import com.alibaba.fastjson.JSONObject; | ||||
| import com.alipay.api.AlipayApiException; | |||||
| import com.alipay.api.AlipayClient; | import com.alipay.api.AlipayClient; | ||||
| import com.alipay.api.request.AlipayTradeQueryRequest; | import com.alipay.api.request.AlipayTradeQueryRequest; | ||||
| import com.alipay.api.response.AlipayTradeQueryResponse; | import com.alipay.api.response.AlipayTradeQueryResponse; | ||||
| @@ -48,22 +49,28 @@ public class BaseAliPayAdapterService { | |||||
| bizContent.put("out_trade_no", orderPay.getOrderNumber()); | bizContent.put("out_trade_no", orderPay.getOrderNumber()); | ||||
| request.setBizContent(bizContent.toString()); | 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); | throw new MallinkException(ErrorCode.PAY_ORDER_QUERY_ERROR); | ||||
| } | } | ||||
| @@ -1,11 +1,14 @@ | |||||
| package com.iformall.service.pay.service.pay.ali.page; | package com.iformall.service.pay.service.pay.ali.page; | ||||
| import com.alibaba.fastjson.JSONObject; | import com.alibaba.fastjson.JSONObject; | ||||
| import com.alipay.api.AlipayApiException; | |||||
| import com.alipay.api.AlipayClient; | import com.alipay.api.AlipayClient; | ||||
| import com.alipay.api.request.AlipayTradePagePayRequest; | import com.alipay.api.request.AlipayTradePagePayRequest; | ||||
| import com.alipay.api.response.AlipayTradePagePayResponse; | import com.alipay.api.response.AlipayTradePagePayResponse; | ||||
| import com.iformall.common.ErrorCode; | |||||
| import com.iformall.domain.po.*; | import com.iformall.domain.po.*; | ||||
| import com.iformall.enums.*; | import com.iformall.enums.*; | ||||
| import com.iformall.exception.MallinkException; | |||||
| import com.iformall.service.order.OrderFactory; | import com.iformall.service.order.OrderFactory; | ||||
| import com.iformall.service.order.entity.WxComposeOrder; | import com.iformall.service.order.entity.WxComposeOrder; | ||||
| import com.iformall.service.pay.entity.PayExtraParam; | import com.iformall.service.pay.entity.PayExtraParam; | ||||
| @@ -66,21 +69,25 @@ public class AliPagePayAdapterService extends BaseAliPayAdapterService implement | |||||
| bizContent.put("time_expire", after15); | bizContent.put("time_expire", after15); | ||||
| request.setBizContent(bizContent.toString()); | 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.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 | @Override | ||||
| @@ -107,7 +107,7 @@ public class WxNativePayV3AdapterService extends BaseWxPayV3AdapterService imple | |||||
| return getOrderPResult(response,payService,appInfo,payAccount,orderPay.getOrderNumber()); | return getOrderPResult(response,payService,appInfo,payAccount,orderPay.getOrderNumber()); | ||||
| }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.PAY_ORDER_ERROR.getCode(),e.getCustomErrorMsg()); | |||||
| } | } | ||||
| } | } | ||||