From d7a9fc1282a76e626bd7781a3937e750c18663f7 Mon Sep 17 00:00:00 2001 From: gongzuming <gongzuming> Date: 星期三, 09 十月 2024 15:00:57 +0800 Subject: [PATCH] 支付优化 --- src/main/java/com/mzl/flower/service/payment/UserPaymentV3Service.java | 19 ++++++++++--------- 1 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/mzl/flower/service/payment/UserPaymentV3Service.java b/src/main/java/com/mzl/flower/service/payment/UserPaymentV3Service.java index e93b82a..5461255 100644 --- a/src/main/java/com/mzl/flower/service/payment/UserPaymentV3Service.java +++ b/src/main/java/com/mzl/flower/service/payment/UserPaymentV3Service.java @@ -540,15 +540,6 @@ request.setTransactionId(o.getPaymentTrId()); request.setNotifyUrl(PyamentV3Configurer.notify_url_refund); - AmountReq amount = new AmountReq(); - int oa = prepareAmount(o.getPaymentAmount()); - amount.setTotal((long)oa); - amount.setRefund((long)oa); - amount.setCurrency("CNY"); - request.setAmount(amount); - // 调用接口 - refundService.create(request); - o.setRefundAmount(o.getPaymentAmount()); o.setRefundNo(request.getOutRefundNo()); o.setRefundTime(LocalDateTime.now()); @@ -562,6 +553,16 @@ deliveryOrderService.refundDelete(orderId); releasePrepayLock(o); + + //最后调用微信退款接口,防止回滚 + AmountReq amount = new AmountReq(); + int oa = prepareAmount(o.getPaymentAmount()); + amount.setTotal((long)oa); + amount.setRefund((long)oa); + amount.setCurrency("CNY"); + request.setAmount(amount); + // 调用接口 + refundService.create(request); } public String refundOrderSub(Order o, BigDecimal refundAmount){ -- Gitblit v1.9.3