diff --git a/cash-sdk/aggregation-pay/src/main/java/com/czg/third/wechat/WechatPayManager.java b/cash-sdk/aggregation-pay/src/main/java/com/czg/third/wechat/WechatPayManager.java index 7099bf6ae..da2f4bf2c 100644 --- a/cash-sdk/aggregation-pay/src/main/java/com/czg/third/wechat/WechatPayManager.java +++ b/cash-sdk/aggregation-pay/src/main/java/com/czg/third/wechat/WechatPayManager.java @@ -280,6 +280,11 @@ public class WechatPayManager { JSONObject object = JSONObject.parseObject(resp); + String status = object.getString("status"); + if ("INVALID_REQUEST".equalsIgnoreCase(status)) { + throw new CzgException("微信退款失败:" + object.getString("message")); + } + RefundRespDTO respDTO = new RefundRespDTO() .setMerchantRefundNo(object.getString("out_refund_no")) .setThirdRefundNo(object.getString("refund_id")) @@ -292,7 +297,7 @@ public class WechatPayManager { respDTO.setRefundAmount(resAmount.getLong("refund")); } - switch (object.getString("status")) { + switch (status) { case "SUCCESS": case "PROCESSING": respDTO.setStatus("SUCCESS"); @@ -309,8 +314,10 @@ public class WechatPayManager { } return respDTO; + } catch (CzgException e) { + throw e; } catch (Exception e) { - log.error("微信退款异常: orderNo = {}, e = {}", paramsDto.getMchOrderNo(), e.getMessage()); + log.error("微信退款异常: orderNo = {} ", paramsDto.getMchOrderNo(), e); throw new CzgException("微信退款异常"); } }