From e798781ca0e14ab400c5fc17e2e0cc98e490fbf2 Mon Sep 17 00:00:00 2001 From: gong <1157756119@qq.com> Date: Wed, 14 Jan 2026 11:28:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E6=9F=A5=E8=AF=A2=E8=AE=A2?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../czg/third/alipay/AlipayIsvPayManager.java | 5 ++ .../czg/third/wechat/WechatPayManager.java | 68 ++++++++++++++++--- .../com/czg/third/wechat/WechatReqUtils.java | 2 +- 3 files changed, 65 insertions(+), 10 deletions(-) diff --git a/cash-sdk/aggregation-pay/src/main/java/com/czg/third/alipay/AlipayIsvPayManager.java b/cash-sdk/aggregation-pay/src/main/java/com/czg/third/alipay/AlipayIsvPayManager.java index 56214e479..1925829fd 100644 --- a/cash-sdk/aggregation-pay/src/main/java/com/czg/third/alipay/AlipayIsvPayManager.java +++ b/cash-sdk/aggregation-pay/src/main/java/com/czg/third/alipay/AlipayIsvPayManager.java @@ -11,6 +11,7 @@ import com.czg.PayCst; import com.czg.dto.req.PayParamsDto; import com.czg.exception.CzgException; import com.czg.third.alipay.dto.config.AlipayConfigDto; +import com.czg.third.wechat.dto.config.WechatPayConfigDto; import lombok.extern.slf4j.Slf4j; import java.math.BigDecimal; @@ -82,6 +83,10 @@ public class AlipayIsvPayManager { } } + public static Map queryOrder(AlipayConfigDto configDto, String orderNo, String subMerchantId) { + return new HashMap<>(); + } + /** * 金额转换 */ 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 7061bb65f..f407ca2ad 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 @@ -195,6 +195,53 @@ public class WechatPayManager { } } + /** + * 查询订单 + * @param configDto 配置 + * @param orderNo 订单号 + * @param subMerchantId 子商户号 + * SUCCESS:支付成功 + * REFUND:转入退款 + * NOTPAY:未支付 + * CLOSED:已关闭 + * REVOKED:已撤销(仅付款码支付会返回) + * USERPAYING:用户支付中(仅付款码支付会返回) + * PAYERROR:支付失败(仅付款码支付会返回) + */ + public static Map queryOrder(WechatPayConfigDto configDto, String orderNo, String subMerchantId) { + try { + if (configDto == null) { + configDto = WechatPayConfigDto.getDefaultConfig(); + } + + String resp = WechatReqUtils.getReq(configDto, "/v3/pay/partner/transactions/out-trade-no/" + orderNo, + Map.of("sp_mchid", configDto.getMerchantId(), "sub_mchid", subMerchantId)); + log.info("微信查询订单,订单号:{}, 响应:{}", orderNo, resp); + + JSONObject res = new JSONObject(); + res.put("orderNo", orderNo); + + JSONObject object = JSONObject.parseObject(resp); + String tradeState = object.getString("trade_state"); + res.put("message", object.getString("trade_state_desc")); + if (PAY_SUCCESS.equals(tradeState)) { + res.put("status", "TRADE_SUCCESS"); + return res; + } + + if ("USERPAYING".equals(tradeState)) { + res.put("status", "TRADE_AWAIT"); + return res; + } + + res.put("status", "TRADE_FAIL"); + return res; + } catch (Exception e) { + log.error("微信查询订单异常: orderNo = {}, e = {}", orderNo, e.getMessage()); + throw new CzgException("微信查询订单异常"); + } + } + /** * 将String转换为InputStream * @param str 待转换的字符串 @@ -231,14 +278,17 @@ public class WechatPayManager { } public static void main(String[] args) { - barPay(null, new PayParamsDto() - .setMerchantId("1738216504") - .setOrderNo("sa101293120sss1") - .setTitle("1213") - .setBody("1213") - .setAmount(1L) - .setAppId("wxd88fffa983758a30") - .setClientIp("127.0.0.1") - .setBarCode("130013153082460022")); +// barPay(null, new PayParamsDto() +// .setMerchantId("1738216504") +// .setOrderNo("sa101293120sss1") +// .setTitle("1213") +// .setBody("1213") +// .setAmount(1L) +// .setAppId("wxd88fffa983758a30") +// .setClientIp("127.0.0.1") +// .setBarCode("130013153082460022")); + + Map sss1 = queryOrder(null, "sa101293120sss1", "1738216504"); + System.out.println(sss1); } } diff --git a/cash-sdk/aggregation-pay/src/main/java/com/czg/third/wechat/WechatReqUtils.java b/cash-sdk/aggregation-pay/src/main/java/com/czg/third/wechat/WechatReqUtils.java index ad2885200..adc8a79f3 100644 --- a/cash-sdk/aggregation-pay/src/main/java/com/czg/third/wechat/WechatReqUtils.java +++ b/cash-sdk/aggregation-pay/src/main/java/com/czg/third/wechat/WechatReqUtils.java @@ -71,7 +71,7 @@ public class WechatReqUtils { log.info("微信支付请求:url = {} \nauthorization: {}", request.getUrl(), authorization); HttpResponse response = request.execute(); String s = response.body(); - log.info("微信支付请求:url = {}\n\tmethod: {}\n\tbody: {}\n\tresp: {}", url, method, body, s); + log.info("微信支付请求:\n\turl = {}\n\tmethod: {}\n\tbody: {}\n\tresp: {}", url, method, body, s); return s; }