Browse Source

feat : 支付宝支付修改, 删除同步回调

bilingfeng 1 year ago
parent
commit
503520bbda

+ 2 - 9
game-module/game-sdk/src/main/java/com/zanxiang/sdk/controller/PayController.java

@@ -62,19 +62,12 @@ public class PayController {
     }
 
     @UnSignCheck
-    @ApiOperation(value = "支付宝支付异步回调(二维码、H5、网站)")
+    @ApiOperation(value = "支付宝支付异步回调")
     @RequestMapping(value = "/notify", method = RequestMethod.POST)
     public String aliPayNotify(HttpServletRequest request, HttpServletResponse response) throws IOException {
         return orderPayService.notify(request, response, PayWayEnum.ALI_PAY.getPayWayId());
     }
 
-    @UnSignCheck
-    @ApiOperation(value = "支付宝支付同步回调(二维码、H5、网站)")
-    @RequestMapping(value = "/alipaySynNotify", method = RequestMethod.GET)
-    public ResultVO synNotify(HttpServletRequest request) {
-        return orderPayService.synNotify(request, PayWayEnum.ALI_PAY.getPayWayId());
-    }
-
     @UnSignCheck
     @ApiOperation(value = "微信支付异步回调")
     @RequestMapping(value = "/wxPayNotify", method = RequestMethod.POST)
@@ -82,7 +75,7 @@ public class PayController {
         return orderPayService.notify(request, response, PayWayEnum.WX_PAY.getPayWayId());
     }
 
-    @ApiOperation(value = "微信米大师支付同步回调")
+    @ApiOperation(value = "米大师支付异步回调")
     @RequestMapping(value = "/miPayNotify", method = RequestMethod.GET)
     public ResultVO<Map> miPayNotify(@RequestParam String orderId, @ValidLogin UserData userData) {
         return ResultVO.ok(miPayService.paySynNotify(orderId));

+ 0 - 10
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/IOrderPayService.java

@@ -1,7 +1,6 @@
 package com.zanxiang.sdk.service;
 
 import com.zanxiang.common.domain.ResultMap;
-import com.zanxiang.module.util.pojo.ResultVO;
 import com.zanxiang.sdk.domain.params.ProductPayParam;
 import com.zanxiang.sdk.domain.params.UserData;
 import com.zanxiang.sdk.domain.vo.PayParamVO;
@@ -55,15 +54,6 @@ public interface IOrderPayService {
      */
     String notify(HttpServletRequest request, HttpServletResponse response, Integer payType) throws IOException;
 
-    /**
-     * 异步回调
-     *
-     * @param request : 请求参数
-     * @param payType : 支付类型
-     * @return {@link ResultMap}
-     */
-    ResultVO synNotify(HttpServletRequest request, Integer payType);
-
     /**
      * 订单支付结果查询
      *

+ 1 - 10
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/impl/OrderPayServiceImpl.java

@@ -7,7 +7,6 @@ import com.zanxiang.common.enums.PayDeviceEnum;
 import com.zanxiang.common.exception.BaseException;
 import com.zanxiang.common.utils.SpringUtils;
 import com.zanxiang.module.util.JsonUtil;
-import com.zanxiang.module.util.pojo.ResultVO;
 import com.zanxiang.module.web.util.IpUtil;
 import com.zanxiang.mybatis.entity.Order;
 import com.zanxiang.mybatis.entity.OrderPayParam;
@@ -109,7 +108,6 @@ public class OrderPayServiceImpl implements IOrderPayService {
         log.error("获取支付类型参数, 请求信息 userData : {}", JsonUtil.toString(userData));
 
 
-
         //查询游戏配置的支付方式
         List<GamePayWayDTO> gamePayWayList = gamePayWayService.listOfGameId(userData.getGameId());
 
@@ -119,7 +117,7 @@ public class OrderPayServiceImpl implements IOrderPayService {
         gamePayWayDTO = gamePayWayList.stream().filter(gamePayWay ->
                 Objects.equals(gamePayWay.getPayDeviceId(), PayDeviceEnum.MI_PAY.getPayDeviceId()))
                 .findFirst().orElse(null);
-        if (gamePayWayDTO != null){
+        if (gamePayWayDTO != null) {
             return gamePayWayDTO.getPayDeviceId();
         }
 
@@ -195,13 +193,6 @@ public class OrderPayServiceImpl implements IOrderPayService {
         return service.notify(request, response);
     }
 
-    @Override
-    public ResultVO synNotify(HttpServletRequest request, Integer payType) {
-        PayTypeEnum payTypeEnum = PayTypeEnum.getByPayType(payType);
-        PayBaseService service = SpringUtils.getBean(payTypeEnum.getClazz());
-        return service.synNotify(request);
-    }
-
     @Override
     public Boolean payResult(String orderId) {
         Order order = orderService.getOne(new LambdaQueryWrapper<Order>()

+ 2 - 49
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/pay/AliPayService.java

@@ -165,53 +165,6 @@ public class AliPayService extends PayBaseService {
         return HttpStatusEnum.FAIL.getMsg();
     }
 
-    @Override
-    public ResultVO synNotify(HttpServletRequest request) {
-
-        log.error("支付宝同步回调 ------------>");
-
-        try {
-            //获取支付宝GET过来反馈信息
-            Map<String, String> params = new HashMap<>();
-            Map<String, String[]> requestParams = request.getParameterMap();
-            for (String name : requestParams.keySet()) {
-                String[] values = requestParams.get(name);
-                String valueStr = "";
-                for (int i = 0; i < values.length; i++) {
-                    valueStr = (i == values.length - 1) ? valueStr + values[i]
-                            : valueStr + values[i] + ",";
-                }
-                //乱码解决,这段代码在出现乱码时使用
-                valueStr = new String(valueStr.getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.UTF_8);
-                params.put(name, valueStr);
-            }
-            //商户订单号
-            String orderNo = new String(request.getParameter("out_trade_no").getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.UTF_8);
-            String gamePayWayId = params.get("gamePayWayId");
-
-            log.error("支付宝同步回调获取到的参数, params : {}", JsonUtil.toString(params));
-
-            //回调地址拼接参数不参加sign验证
-            params.remove("gamePayWayId");
-            //初始化配置
-            configInit(gamePayWayService.getById(Long.valueOf(gamePayWayId)));
-            //验证签名
-            Boolean flag = Factory.Payment.Common().verifyNotify(params);
-            if (flag) {
-                if (paySuccess(orderNo, params.get("total_amount"), params.get("trade_no"))) {
-                    log.info("支付宝同步回调成功, orderId : {}", orderNo);
-                    return ResultVO.ok();
-                }
-            }
-            log.error("支付宝同步回调验证签名结果失败, orderId : {}", orderNo);
-            return ResultVO.fail(HttpStatusEnum.FAIL.getMsg());
-        } catch (Exception e) {
-            e.printStackTrace();
-            //处理异常信息
-            return ResultVO.fail(e.getMessage());
-        }
-    }
-
     @Override
     public void closeOrder(PlatformOrderDTO platformOrderDTO) {
         //支付配置
@@ -238,7 +191,7 @@ public class AliPayService extends PayBaseService {
         try {
             log.error("支付宝H5下单订单号 , outTradeNo : {}", product.getOutTradeNo());
             response = Factory.Payment.Wap().asyncNotify(notifyUrl)
-                    .pay(product.getSubject(), product.getOutTradeNo(), product.getTotalFee(), "", this.returnUrl);
+                    .pay(product.getSubject(), product.getOutTradeNo(), product.getTotalFee(), "", "");
         } catch (Exception e) {
             log.error("支付宝H5支付异常, product : {}, e:{}", JsonUtil.toString(product), e.getMessage());
             throw new BaseException("支付宝H5支付异常");
@@ -340,7 +293,7 @@ public class AliPayService extends PayBaseService {
         AlipayTradePagePayResponse response;
         try {
             response = Factory.Payment.Page().asyncNotify(notifyUrl)
-                    .pay(product.getSubject(), product.getOutTradeNo(), product.getTotalFee(), this.returnUrl);
+                    .pay(product.getSubject(), product.getOutTradeNo(), product.getTotalFee(), "");
         } catch (Exception e) {
             log.error("支付宝pc端支付异常, product : {}, e:{}", JsonUtil.toString(product), e.getMessage());
             throw new BaseException("支付宝pc端支付异常");

+ 0 - 6
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/pay/MiPayService.java

@@ -8,7 +8,6 @@ import com.zanxiang.common.exception.CustomException;
 import com.zanxiang.common.utils.StringUtils;
 import com.zanxiang.common.utils.URIUtil;
 import com.zanxiang.module.util.JsonUtil;
-import com.zanxiang.module.util.pojo.ResultVO;
 import com.zanxiang.mybatis.entity.Order;
 import com.zanxiang.sdk.domain.bo.ProductPayParamBO;
 import com.zanxiang.sdk.domain.dto.*;
@@ -278,11 +277,6 @@ public class MiPayService extends PayBaseService {
         throw new BaseException("米大师支付不存在异步回调");
     }
 
-    @Override
-    public ResultVO synNotify(HttpServletRequest request) {
-        throw new BaseException("米大师支付不存在同步回调");
-    }
-
     @Override
     public void closeOrder(PlatformOrderDTO platformOrderDTO) {
         log.error("米大师支付不存在取消订单");

+ 0 - 9
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/pay/PayBaseService.java

@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.zanxiang.common.enums.OrderStateEnum;
 import com.zanxiang.common.exception.BaseException;
 import com.zanxiang.module.util.JsonUtil;
-import com.zanxiang.module.util.pojo.ResultVO;
 import com.zanxiang.mybatis.entity.Order;
 import com.zanxiang.sdk.domain.bo.ProductPayAttachParamBO;
 import com.zanxiang.sdk.domain.bo.ProductPayParamBO;
@@ -135,14 +134,6 @@ public abstract class PayBaseService {
      */
     public abstract String notify(HttpServletRequest request, HttpServletResponse response) throws IOException;
 
-    /**
-     * 支付同步回调
-     *
-     * @param request : 回调参数
-     * @return : 返回回调结果
-     */
-    public abstract ResultVO synNotify(HttpServletRequest request);
-
     /**
      * 关闭订单
      *

+ 0 - 6
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/pay/WxPayService.java

@@ -8,7 +8,6 @@ import com.zanxiang.common.enums.OrderStateEnum;
 import com.zanxiang.common.enums.PayDeviceEnum;
 import com.zanxiang.common.exception.BaseException;
 import com.zanxiang.module.util.JsonUtil;
-import com.zanxiang.module.util.pojo.ResultVO;
 import com.zanxiang.mybatis.entity.Order;
 import com.zanxiang.mybatis.entity.OrderPayParam;
 import com.zanxiang.sdk.constant.WxPayConstants;
@@ -371,9 +370,4 @@ public class WxPayService extends PayBaseService {
         this.config = payConfigBO;
         log.error("初始化的支付配置信息, config : {}", JsonUtil.toString(this.config));
     }
-
-    @Override
-    public ResultVO synNotify(HttpServletRequest request) {
-        throw new BaseException("微信支付不存在同步回调!");
-    }
 }