From 11899dc62d10c1c7778fbebb631f5ee25705b7db Mon Sep 17 00:00:00 2001 From: 张天森 <1292933220@qq.com> Date: 星期四, 17 十一月 2022 21:36:08 +0800 Subject: [PATCH] Merge branch 'huacheng_test' into haucheng_panzhihua --- springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/WxPayUtils.java | 29 +++++++++++++++++++++++++++++ 1 files changed, 29 insertions(+), 0 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/WxPayUtils.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/WxPayUtils.java index c47e924..32529e4 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/WxPayUtils.java +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/WxPayUtils.java @@ -1,10 +1,12 @@ package com.panzhihua.common.utlis; import java.math.BigDecimal; +import java.util.LinkedHashMap; import java.util.Map; import java.util.SortedMap; import java.util.TreeMap; +import com.panzhihua.common.utlis.wx.WXPayUtil; import org.json.XML; import com.alibaba.fastjson.JSON; @@ -138,4 +140,31 @@ return result.toJSONString(); } + + public static String refund(String appid,String mchId,String orderNo,BigDecimal totalFee,BigDecimal refundFee,String refundNo,Boolean isTest) throws Exception { + //创建请求地址 + String url = PayCpmstant.REFUND_URL; + Map<String, String> paramMap = new LinkedHashMap<>(); + paramMap.put("appid",appid); + paramMap.put("mch_id",mchId); + paramMap.put("nonce_str", WXPayUtil.generateNonceStr()); + paramMap.put("out_refund_no",refundNo); + paramMap.put("out_trade_no",orderNo); + paramMap.put("refund_fee",String.valueOf(refundFee.multiply(BigDecimal.valueOf(100)).longValue())); + paramMap.put("total_fee",String.valueOf(totalFee.multiply(BigDecimal.valueOf(100)).longValue())); + paramMap.put("sign",WXPayUtil.generateSignature(paramMap,PayCpmstant.REFUND_KEY)); + log.info("微信退款请求参数:{},{},{},{}",url,WXPayUtil.mapToXml(paramMap),mchId,isTest); + //接收请求返回值 + String content = HttpClientUtil.doRefund(url,WXPayUtil.mapToXml(paramMap),mchId,isTest); + log.info("微信退款返回字符串:{}",content); + Map<String, String> resultMap = WXPayUtil.xmlToMap(content); + if (PayCpmstant.RETURN_CODE.equals(resultMap.get(PayCpmstant.RETURN_CODE_CODE)) + && PayCpmstant.RETURN_CODE.equals(resultMap.get(PayCpmstant.RESULT_CODE_CODE))) { + log.info("调用微信退款申请接口成功"); + return JSONObject.toJSONString(resultMap); + }else{ + log.error("调用微信退款申请接口失败"); + return ""; + } + } } -- Gitblit v1.7.1