diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxPayOrder.java b/mallinkService/src/main/java/com/iformall/domain/po/WxPayOrder.java index d6ea96d60..8ed97ec4b 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxPayOrder.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxPayOrder.java @@ -160,6 +160,4 @@ public class WxPayOrder extends TenantEntity { } return false; } - - } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java index 687b732d4..1a9384993 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java @@ -456,7 +456,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { if(EnumPayMchType.DIRECT.equals(payMchType)){//直连模式记录收款商户 merchant_id = wxCouponChannelService.getCouponOneMerchantId(payWay,o.getCouponChannelId(),o.getTenantId()); merchant_uid = wxCouponChannelService.getCouponOneMerchantUid(payWay,merchant_id,o.getTenantId()); - if(StringUtils.isBlank(merchant_uid)){ + if(null == merchant_id || StringUtils.isBlank(merchant_uid)){ throw new MallinkException(ErrorCode.PAY_ORDER_MERCHANT_UID_ERROR); } } diff --git a/mallinkService/src/main/java/com/iformall/service/pay/PayServiceFactory.java b/mallinkService/src/main/java/com/iformall/service/pay/PayServiceFactory.java index 2ca526dd5..225046e46 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/PayServiceFactory.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/PayServiceFactory.java @@ -100,6 +100,7 @@ public class PayServiceFactory { serviceMap.put(EnumPayWay.PAY_WAY_WECHAT_MA.getCode()+"_"+EnumPayVersion.WX_PAY_V3.getCode(), wxMiniAppMaPayService); //电商收付通没有收款码支付 //serviceMap.put(EnumPayWay.PAY_WAY_WECHAT_MA.getCode()+"_"+EnumPayVersion.WX_PAY_V3_SFT.getCode(), wxMiniAppMaPayService); + serviceMap.put(EnumPayWay.PAY_WAY_WECHAT_WAP.getCode()+"_"+EnumPayVersion.WX_PAY_V2.getCode(), wxH5PayService); serviceMap.put(EnumPayWay.PAY_WAY_WECHAT_WAP.getCode()+"_"+EnumPayVersion.WX_PAY_V3_SFT.getCode(), wxH5PaySFTService); serviceMap.put(EnumPayWay.PAY_WAY_TT.getCode()+"_"+EnumPayVersion.DY_PAY_V2.getCode(),ttMiniAppPayService); diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v3/miniApp/appPay/WxMiniAppPayV3AdapterService.java b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v3/miniApp/appPay/WxMiniAppPayV3AdapterService.java index 5a27a6383..003654a19 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v3/miniApp/appPay/WxMiniAppPayV3AdapterService.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v3/miniApp/appPay/WxMiniAppPayV3AdapterService.java @@ -237,7 +237,12 @@ public class WxMiniAppPayV3AdapterService extends BaseWxPayV3AdapterService impl V3PayQueryReq req = new V3PayQueryReq(); if (!oldRecord.isMulity()) { req.setSp_mchid(payAccount.getMchId()); - req.setSub_mchid(oldRecord.getSingleChildOrderShare().getMerchantUid()); + //总分 + if (payAccount.getMchType() == EnumPayMchType.TOTAL.getCode()) { + req.setSub_mchid(payAccount.getSubMchId()); + }else if (payAccount.getMchType() == EnumPayMchType.DIRECT.getCode()) { + req.setSub_mchid(oldRecord.getSingleChildOrderShare().getMerchantUid()); + } req.setOut_trade_no(oldRecord.getPayOrderNo()); String response = WxPayV3.payCommonQuery(payService, req); if (StringUtils.isBlank(response)){ @@ -274,7 +279,12 @@ public class WxMiniAppPayV3AdapterService extends BaseWxPayV3AdapterService impl if (!record.isMulity()) { SFTPayQueryReq req = new SFTPayQueryReq(); req.setSp_mchid(payAccount.getMchId()); - req.setSub_mchid(record.getSingleChildOrderShare().getMerchantUid()); + //总分 + if (payAccount.getMchType() == EnumPayMchType.TOTAL.getCode()) { + req.setSub_mchid(payAccount.getSubMchId()); + }else if (payAccount.getMchType() == EnumPayMchType.DIRECT.getCode()) { + req.setSub_mchid(record.getSingleChildOrderShare().getMerchantUid()); + } req.setOut_trade_no(record.getPayOrderNo()); WxPayV3SFT.payCommonClose(payService, req); return new PayAdapterResult(true, "close success", req, null);