From f2dff53d76a7e9a23e6a2ecfed58ce978dc41442 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期五, 06 九月 2024 18:22:11 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/controller/WxPayController.java | 26 +++++++++++++++----------- 1 files changed, 15 insertions(+), 11 deletions(-) diff --git a/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/controller/WxPayController.java b/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/controller/WxPayController.java index 81ea044..3ed6053 100644 --- a/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/controller/WxPayController.java +++ b/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/controller/WxPayController.java @@ -4,6 +4,7 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.payment.api.vo.PaymentOrder; +import com.ruoyi.payment.api.vo.WxRefundNotifyResp; import com.ruoyi.payment.wx.enums.RefundEnum; import com.ruoyi.payment.api.model.WxPaymentRefundModel; import com.ruoyi.payment.wx.resp.NotifyV3PayDecodeRespBody; @@ -113,11 +114,13 @@ log.info("支付回调:{}", params); String outRefundNo = (String) params.get("out_refund_no"); String out_trade_no = params.get("out_trade_no").toString(); - String substring = outRefundNo.substring(0, 2); + String substring = out_trade_no.substring(0, 2); switch (substring){ //购物订单 case "GW": + break; + case "HY": break; } @@ -149,12 +152,12 @@ * 退款回调 */ @PostMapping("refund/notify") - public void refundNotify(HttpServletRequest request) throws IOException { + public R<WxRefundNotifyResp> refundNotify(HttpServletRequest request) throws IOException { try { Map<String, Object> params = wxV3Pay.verifyNotify(request, new TypeReference<Map<String, Object>>() { }); // 商户订单号 - String tradeNo = params.get("out_trade_no").toString(); + String out_trade_no = params.get("out_trade_no").toString(); // 商户退款单号 String out_refund_no = params.get("out_refund_no").toString(); // 微信支付订单号 @@ -167,21 +170,22 @@ // 时间不对的话,可以调用 WxTimeUtils.toRfc3339Date(success_time)转换一下 String success_time = params.get("success_time").toString(); if (tradeState.equals(RefundEnum.SUCCESS.name())) { - String substring = out_refund_no.substring(0, 2); - switch (substring){ - case "GW": - break; - - } - // TODO 退款成功处理 + WxRefundNotifyResp resp = new WxRefundNotifyResp(); + resp.setOut_trade_no(out_trade_no); + resp.setOut_refund_no(out_refund_no); + resp.setTradeState(tradeState); + resp.setTransaction_id(transaction_id); + resp.setRefund_id(refund_id); + resp.setSuccess_time(success_time); wxV3Pay.ack(); + return R.ok(resp); } else { wxV3Pay.ack(false, "不是成功的退款状态"); } } catch (Exception e) { wxV3Pay.ack(false, e.getMessage()); } - + return R.fail(); } /** -- Gitblit v1.7.1