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; } /**