修改支付宝支付

This commit is contained in:
2024-09-18 18:17:28 +08:00
parent 46205fb7ce
commit d7f2d5afc1
2 changed files with 42 additions and 98 deletions

View File

@@ -1545,17 +1545,13 @@ public class PayService {
if (ObjectUtil.isNotNull(orderstatus) && ObjectUtil.isNotEmpty(orderstatus)) { if (ObjectUtil.isNotNull(orderstatus) && ObjectUtil.isNotEmpty(orderstatus)) {
if ("000000".equals(orderstatus.getCode())) { if ("000000".equals(orderstatus.getCode())) {
if ("TRADE_SUCCESS".equals(orderstatus.getObjData().getState())) { if ("TRADE_SUCCESS".equals(orderstatus.getObjData().getState())) {
tbQuickPay.setStatus("0"); tbQuickPay.setStatus("0");
tbQuickPay.setUpdateTime(new Date()); tbQuickPay.setUpdateTime(new Date());
tbQuickPayMapper.updateByPrimaryKeySelective(tbQuickPay); tbQuickPayMapper.updateByPrimaryKeySelective(tbQuickPay);
} }
} }
} }
} }
} }
return Result.success(CodeEnum.SUCCESS, tbQuickPay); return Result.success(CodeEnum.SUCCESS, tbQuickPay);
@@ -1927,115 +1923,59 @@ public class PayService {
} }
String reqbody = "店铺收款码"; String reqbody = "店铺收款码";
PublicResp<JspayResp> publicResp = thirdPayService.jspay(url, thirdApply.getAppId(), thirdApply.getAppToken(),
reqbody, reqbody, orderInfo.getOrderAmount().multiply(new BigDecimal(100)).longValue(),
payType, thirdApply.getSmallAppid(), userId, ip,
DateUtils.getSsdfTimes(), thirdApply.getStoreId(), backUrl, backUrl);
if("WECHAT".equals(payType) || "ALIPAY".equals(payType)){ if (ObjectUtil.isNotNull(publicResp) && ObjectUtil.isNotEmpty(publicResp)) {
PublicResp<JspayResp> publicResp = thirdPayService.jspay(url, thirdApply.getAppId(), thirdApply.getAppToken(), if ("000000".equals(publicResp.getCode())) {
reqbody, reqbody, orderInfo.getOrderAmount().multiply(new BigDecimal(100)).longValue(), JspayResp scanpayResp = publicResp.getObjData();
payType, thirdApply.getSmallAppid(), userId, ip, if ("TRADE_SUCCESS".equals(scanpayResp.getState())) {
DateUtils.getSsdfTimes(), thirdApply.getStoreId(), backUrl, backUrl);
if (ObjectUtil.isNotNull(publicResp) && ObjectUtil.isNotEmpty(publicResp)) { payment.setTradeNumber(scanpayResp.getPayOrderId());
if ("000000".equals(publicResp.getCode())) { payment.setUpdatedAt(System.currentTimeMillis());
JspayResp scanpayResp = publicResp.getObjData(); tbOrderPaymentMapper.updateByPrimaryKeySelective(payment);
if ("TRADE_SUCCESS".equals(scanpayResp.getState())) {
payment.setTradeNumber(scanpayResp.getPayOrderId()); //处理支付成功的订单
payment.setUpdatedAt(System.currentTimeMillis()); orderInfo.setStatus("closed");
tbOrderPaymentMapper.updateByPrimaryKeySelective(payment); orderInfo.setPayOrderNo(scanpayResp.getPayOrderId());
tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo);
//处理支付成功的订单
orderInfo.setStatus("closed");
orderInfo.setPayOrderNo(scanpayResp.getPayOrderId());
tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo);
ObjectMapper mapper = new ObjectMapper(); ObjectMapper mapper = new ObjectMapper();
return Result.success(CodeEnum.SUCCESS, mapper.readTree(scanpayResp.getPayInfo())); return Result.success(CodeEnum.SUCCESS, mapper.readTree(scanpayResp.getPayInfo()));
} else if ("TRADE_AWAIT".equals(scanpayResp.getState())) { } else if ("TRADE_AWAIT".equals(scanpayResp.getState())) {
orderInfo.setStatus("paying"); orderInfo.setStatus("paying");
orderInfo.setPayOrderNo(payment.getTradeNumber()); orderInfo.setPayOrderNo(payment.getTradeNumber());
tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo); tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo);
payment.setTradeNumber(scanpayResp.getPayOrderId()); payment.setTradeNumber(scanpayResp.getPayOrderId());
payment.setUpdatedAt(System.currentTimeMillis()); payment.setUpdatedAt(System.currentTimeMillis());
tbOrderPaymentMapper.updateByPrimaryKeySelective(payment); tbOrderPaymentMapper.updateByPrimaryKeySelective(payment);
if ("WECHAT".equals(scanpayResp.getPayType())) { if ("WECHAT".equals(scanpayResp.getPayType())) {
orderInfo.setPayType("WECHAT"); orderInfo.setPayType("WECHAT");
} else if ("ALIPAY".equals(scanpayResp.getPayType())) { } else if ("ALIPAY".equals(scanpayResp.getPayType())) {
orderInfo.setPayType("ALIPAY"); orderInfo.setPayType("ALIPAY");
} else if ("UNIONPAY".equals(scanpayResp.getPayType())) { } else if ("UNIONPAY".equals(scanpayResp.getPayType())) {
orderInfo.setPayType("UNIONPAY"); orderInfo.setPayType("UNIONPAY");
}
ObjectMapper mapper = new ObjectMapper();
Map<String,Object> map=new HashMap<>();
map.put("orderInfo",orderInfo);
map.put("payInfo",mapper.readTree(scanpayResp.getPayInfo()));
return Result.success(CodeEnum.PAYING, map);
} }
}
}
}else if("ALIPAY".equals(payType)){
PublicResp<ApppayResp> publicResp= thirdPayService.apppay(url,thirdApply.getAppId(),thirdApply.getAppToken(),
reqbody,reqbody,orderInfo.getOrderAmount().multiply(new BigDecimal(100)).longValue(),
payType,ip,DateUtils.getSsdfTimes(),thirdApply.getStoreId(),backUrl,backUrl);
if (ObjectUtil.isNotNull(publicResp) && ObjectUtil.isNotEmpty(publicResp)) {
if ("000000".equals(publicResp.getCode())) {
ApppayResp scanpayResp = publicResp.getObjData();
if ("TRADE_SUCCESS".equals(scanpayResp.getState())) {
payment.setTradeNumber(scanpayResp.getPayOrderId());
payment.setUpdatedAt(System.currentTimeMillis());
tbOrderPaymentMapper.updateByPrimaryKeySelective(payment);
//处理支付成功的订单
orderInfo.setStatus("closed");
orderInfo.setPayOrderNo(scanpayResp.getPayOrderId());
tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo);
ObjectMapper mapper = new ObjectMapper(); ObjectMapper mapper = new ObjectMapper();
return Result.success(CodeEnum.SUCCESS, mapper.readTree(scanpayResp.getPayInfo()));
} else if ("TRADE_AWAIT".equals(scanpayResp.getState())) { Map<String,Object> map=new HashMap<>();
orderInfo.setStatus("paying");
orderInfo.setPayOrderNo(payment.getTradeNumber());
tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo);
payment.setTradeNumber(scanpayResp.getPayOrderId()); map.put("orderInfo",orderInfo);
payment.setUpdatedAt(System.currentTimeMillis()); map.put("payInfo",mapper.readTree(scanpayResp.getPayInfo()));
tbOrderPaymentMapper.updateByPrimaryKeySelective(payment); return Result.success(CodeEnum.PAYING, map);
if ("WECHAT".equals(scanpayResp.getPayType())) {
orderInfo.setPayType("WECHAT");
} else if ("ALIPAY".equals(scanpayResp.getPayType())) {
orderInfo.setPayType("ALIPAY");
} else if ("UNIONPAY".equals(scanpayResp.getPayType())) {
orderInfo.setPayType("UNIONPAY");
}
ObjectMapper mapper = new ObjectMapper();
Map<String,Object> map=new HashMap<>();
map.put("orderInfo",orderInfo);
map.put("payInfo",mapper.readTree(scanpayResp.getPayInfo()));
return Result.success(CodeEnum.PAYING, map);
}
} }
} }
} }
return Result.fail(CodeEnum.FAIL); return Result.fail(CodeEnum.FAIL);
} }

View File

@@ -197,9 +197,13 @@ public class ThirdPayService {
* @param key * @param key
* @return * @return
*/ */
public PublicResp<OrderReturnResp> returnOrder(String url,String appId, String mchRefundNo, String payOrderId, String mchOrderNo, String refundReason, Long refundAmount, String notifyUrl, String extParam,String key){ public PublicResp<OrderReturnResp> returnOrder(String url,String appId, String mchRefundNo, String payOrderId,
OrderRefundReq req=new OrderRefundReq(mchRefundNo, payOrderId, mchOrderNo, refundReason, refundAmount, notifyUrl, extParam); String mchOrderNo, String refundReason, Long refundAmount,
PublicParam param=new PublicParam(appId,null,SignTypeEnum.MD5.getValue(), null,DateUtils.getSdfTimes(), "1.0", String.valueOf(System.currentTimeMillis())); String notifyUrl, String extParam,String key){
OrderRefundReq req=new OrderRefundReq(mchRefundNo, payOrderId, mchOrderNo, refundReason, refundAmount,
notifyUrl, extParam);
PublicParam param=new PublicParam(appId,null,SignTypeEnum.MD5.getValue(), null,DateUtils.getSdfTimes(),
"1.0", String.valueOf(System.currentTimeMillis()));
try { try {
String str = JSONUtil.toJSONString(sortFields(req)); String str = JSONUtil.toJSONString(sortFields(req));
param.setBizData(str); param.setBizData(str);