java对接银联商务公众号+服务窗支付(2)
java實(shí)現(xiàn)銀聯(lián)商務(wù)公眾號(hào)+服務(wù)窗對(duì)接----下單查詢
本文對(duì)接銀聯(lián)商務(wù)公眾號(hào)+服務(wù)窗支付,實(shí)現(xiàn)支付下單、訂單查詢、訂單退款、退款查詢和訂單關(guān)閉幾個(gè)功能,使用到銀聯(lián)商務(wù)的公眾+服務(wù)窗支付接口規(guī)范,請(qǐng)自行百度下載。
在上一篇支付下單中,已經(jīng)實(shí)現(xiàn)公眾號(hào)下單支付,本篇將介紹下單查詢接口的對(duì)接實(shí)現(xiàn),并將我使用到的銀聯(lián)商務(wù)的請(qǐng)求接口和響應(yīng)接口進(jìn)行封裝,使用測(cè)試網(wǎng)頁(yè)輸出測(cè)試信息。
一、接口及代碼實(shí)現(xiàn)
1.下單查詢接口
1.1接口規(guī)范
接口規(guī)范請(qǐng)查看下載的銀聯(lián)商務(wù)公眾號(hào)+服務(wù)窗接口規(guī)范下單查詢接口部分,這里不做展示。
1.2 代碼實(shí)現(xiàn)
1.2.1 UnifiedQueryInfoController代碼
1.2.2 queryinfoserviceimpl代碼
本部分代碼為銀聯(lián)商務(wù)支付下單查詢接口服務(wù)。
@Overridepublic Map<String, Object> QueryInfo(Map<String, Object> map) throws UnsupportedEncodingException {// TODO Auto-generated method stublogger.info("------------------unfiedquery--------------------------");Map<String, Object> reqmap = new HashMap<String, Object>(); //請(qǐng)求mapMap<String, Object> resp = new HashMap<String, Object>(); //響應(yīng)resp//reqmap.put("mid", this.mid); //內(nèi)部測(cè)試reqmap.put("mid", map.get("mid").toString()); //商戶號(hào)reqmap.put("tid", map.get("tid").toString()); //終端號(hào)reqmap.put("instMid", map.get("instMid").toString());reqmap.put("msgSrc", map.get("msgSrc").toString()); //消息來(lái)源reqmap.put("msgId", "UnionPay_F002"); //msgId,查詢接口reqmap.put("msgType", "query"); //消息類型//報(bào)文請(qǐng)求時(shí)間String aligetTime = PayUtil.aligetTime();logger.info("請(qǐng)求時(shí)間aligetTime = " + aligetTime);reqmap.put("requestTimestamp", aligetTime); reqmap.put("merOrderId", map.get("merOrderId").toString()); //商戶訂單號(hào),前端傳入//生成待簽名字符串并進(jìn)行MD5加密String builderSignStr = "";try {builderSignStr = PayUtil.builderSignStr(reqmap,UnionPayConstants.MD5KEY);//signString = PayUtil.generateSignature(reqmap, UnionPayConstants.MD5KEY);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}reqmap.put("sign", builderSignStr);logger.info("reqmap= " + reqmap);String jsonstring = GGitUtil.MapToJson2(reqmap); //請(qǐng)求map轉(zhuǎn)成jsonlogger.info("發(fā)送query post請(qǐng)求消息:" + jsonstring);//接收銀聯(lián)商務(wù)返回mapresp = unionpayrequest.dopost(UnionPayConstants.queryURL, jsonstring);return resp;}其中,queryURL為請(qǐng)求銀聯(lián)商務(wù)地址:
https://qr-test2.chinaums.com/netpay-route-server/api/1.3測(cè)試結(jié)果
本文對(duì)所寫接口寫了測(cè)試網(wǎng)頁(yè)進(jìn)行測(cè)試,如圖所示。
總結(jié)
以上是生活随笔為你收集整理的java对接银联商务公众号+服务窗支付(2)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【瑞吉外卖】学习笔记-day5:(三)手
- 下一篇: android 打开网络设置 异常,An