lidongdong
2023-03-17 6f1997123fc1e30f5782e82ee8d2b6b2a11d5ceb
新增银联支付查询   退款查询   接口
3个文件已修改
78 ■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommonApi.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/unionpay/Query.java 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/unionpay/RefundQuery.java 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommonApi.java
@@ -10,7 +10,9 @@
import javax.servlet.http.HttpServletRequest;
import com.panzhihua.applets.config.MinioUtil;
import com.panzhihua.applets.umf.UmfPayUtil;
import com.panzhihua.applets.unionpay.Query;
import com.panzhihua.applets.unionpay.Refund;
import com.panzhihua.applets.unionpay.RefundQuery;
import com.panzhihua.applets.unionpay.UnifiedOrder;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.model.vos.community.Base64File;
@@ -288,6 +290,21 @@
    }
    @ApiOperation("银联支付查询接口")
    @GetMapping("/unionpayQuery")
    public R unionpayRefundPay(@RequestParam("merOrderId")String merOrderId){
        String map= Query.query(merOrderId);
        return R.ok(map);
    }
    @ApiOperation("银联退款查询接口")
    @GetMapping("/unionpayRefundQuery")
    public R unionpayRefundQuery(@RequestParam("merOrderId")String merOrderId){
        String map= RefundQuery.refundQuery(merOrderId);
        return R.ok(map);
    }
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/unionpay/Query.java
@@ -1,5 +1,6 @@
package com.panzhihua.applets.unionpay;
import com.panzhihua.common.utlis.DateUtils;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.digest.DigestUtils;
@@ -9,6 +10,7 @@
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.time.LocalDateTime;
/**
 * @author kkqiao0
@@ -23,23 +25,37 @@
public class Query {
    static String url = "https://test-api-open.chinaums.com/v1/netpay/query";
    public static void main(String[] args) throws Exception{
    /**
     * 查询接口
     * @return
     */
    public static String query(String merOrderId)
    {
        //1. 组建请求报文
        LocalDateTime time= DateUtils.getCurrentDate();
        QueryBody reqBody = new QueryBody();
        reqBody.requestTimestamp = "2019-08-09 17:32:55";
        reqBody.mid = "898460107420248";
        reqBody.tid = "00000001";
        reqBody.instMid = "MINIDEFAULT";
        reqBody.merOrderId = "101771305dc89764b477474";
        reqBody.requestTimestamp = time.format(DateUtils.format_ymdhms);//"2019-08-09 17:32:55";
        reqBody.mid = UnionpayContent.MID;
        reqBody.tid = UnionpayContent.TID;
        reqBody.instMid = UnionpayContent.INSTMID;
        reqBody.merOrderId = merOrderId;
        System.out.println("request body:\n"+reqBody);
        //2. 获取认证报文,timestamp为当前日期,老旧日期无法请求成功
        String authorization = getAuthorization(UnionpayContent.APPID,UnionpayContent.APPKEY,"20190809173200","nonce",reqBody.toString());
        String authorization = null;
        try {
            authorization = getAuthorization(UnionpayContent.APPID,UnionpayContent.APPKEY,
                    time.format(DateUtils.format_ymdhms_string),"nonce",reqBody.toString());
        } catch (Exception e) {
            e.printStackTrace();
            return "订单交易查询失败";
        }
        System.out.println("authorization:\n"+authorization);
        //3. 发送http请求,并解析返回信息
        String response = request(url,authorization,reqBody.toString());
        System.out.println("response:\n"+response);
        return response;
    }
    /**
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/unionpay/RefundQuery.java
@@ -1,5 +1,6 @@
package com.panzhihua.applets.unionpay;
import com.panzhihua.common.utlis.DateUtils;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.digest.DigestUtils;
@@ -9,6 +10,7 @@
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.time.LocalDateTime;
/**
 * @author kkqiao
@@ -23,23 +25,38 @@
    static String url = "https://test-api-open.chinaums.com/v1/netpay/refund-query";
    public static void main(String[] args) throws Exception{
    /**
     * 退款查询接口
     * @param args
     * @return
     */
    public static String refundQuery(String merOrderId)
    {
        //1. 组建请求报文
        LocalDateTime time= DateUtils.getCurrentDate();
        RefundQueryBody reqBody = new RefundQueryBody();
        reqBody.requestTimestamp = "2019-08-09 14:45:55";
        reqBody.mid = "898460107420248";
        reqBody.tid = "00000001";
        reqBody.instMid = "MINIDEFAULT";
        reqBody.merOrderId = "101771300dc89764b477474";
        reqBody.requestTimestamp =time.format(DateUtils.format_ymdhms);// "2019-08-09 14:45:55";
        reqBody.mid = UnionpayContent.MID;
        reqBody.tid = UnionpayContent.TID;
        reqBody.instMid = UnionpayContent.INSTMID;
        reqBody.merOrderId = merOrderId;
        System.out.println("request body:\n"+reqBody);
        //2. 获取认证报文,timestamp为当前日期,老旧日期无法请求成功
        String authorization = getAuthorization(UnionpayContent.APPID,UnionpayContent.APPKEY,"20190809145000","nonce",reqBody.toString());
        String authorization = null;
        try {
            authorization = getAuthorization(UnionpayContent.APPID,UnionpayContent.APPKEY,
                    time.format(DateUtils.format_ymdhms_string),"nonce",reqBody.toString());
        } catch (Exception e) {
            e.printStackTrace();
            return "退款查询失败";
        }
        System.out.println("authorization:\n"+authorization);
        //3. 发送http请求,并解析返回信息
        String response = request(url,authorization,reqBody.toString());
        System.out.println("response:\n"+response);
        return response;
    }
    /**