java对接银联商务公众号+服务窗支付(5)
生活随笔
收集整理的這篇文章主要介紹了
java对接银联商务公众号+服务窗支付(5)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
java實現銀聯商務公眾號+服務窗對接----訂單撤銷
本文對接銀聯商務公眾號+服務窗支付,實現支付下單、訂單查詢、訂單退款、退款查詢和訂單關閉幾個功能,使用到銀聯商務的公眾+服務窗支付接口規范,請自行百度下載。
在上幾篇支付下單、下單查詢、訂單退款和退款查詢,已經實現公眾號下單支付、下單查詢、訂單退款、退款查詢功能的實現和接口的封裝,本篇將介紹訂單撤銷的對接實現,并將我使用到的銀聯商務的請求接口和響應接口進行封裝,使用測試網頁輸出測試信息。
一、接口及代碼實現
1.訂單撤銷接口
1.1接口規范
接口規范請查看下載的銀聯商務公眾號+服務窗接口規范訂單撤銷接口部分,這里不做展示。
1.2 代碼實現
1.2.1 CloseOrderController代碼
1.2.2 closeorderserviceimpl代碼
本部分代碼為銀聯商務公眾號訂單撤銷服務實現類。
@Overridepublic Map<String, Object> CloseOrder(Map<String, Object> map) throws UnsupportedEncodingException {// TODO Auto-generated method stublogger.info("------------------close order--------------------------");Map<String, Object> reqmap = new HashMap<String, Object>(); //請求mapMap<String, Object> resp = new HashMap<String, Object>(); //響應respreqmap.put("mid", map.get("mid").toString()); //1商戶號reqmap.put("tid", map.get("tid").toString()); //2終端號reqmap.put("instMid", map.get("instMid").toString()); //3業務類型reqmap.put("msgSrc", map.get("msgSrc").toString()); //4消息來源 reqmap.put("msgType", "close"); //5消息類型String aligetTime = PayUtil.aligetTime();logger.info("請求時間aligetTime = " + aligetTime);reqmap.put("requestTimestamp", aligetTime); //6報文請求時間 reqmap.put("merOrderId", map.get("merOrderId").toString()); //7原交易訂單號//生成待簽名字符串并進行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.toLowerCase()); //8簽名,轉小寫logger.info("reqmap= " + reqmap);String jsonstring = GGitUtil.MapToJson2(reqmap); //請求map轉成json stringlogger.info("發送CloseOrder post請求消息:" + jsonstring);//接收銀聯商務返回mapresp = unionpayrequest.dopost(UnionPayConstants.queryURL, jsonstring);return resp;}1.3測試結果
本文對所寫接口寫了測試網頁進行測試,如圖所示。封裝的銀聯商務響應接口中,輸入的商戶訂單號為已支付訂單號,響應結果中顯示的是OPTION_NOT_ALLOWED,查看銀聯商務接口文檔,表示此訂單號已被支付,為關閉狀態。(實際測試中,由于參數為測試環境參數,訂單關閉接口測試會出現沒有配置API的錯誤,需要連接生產環境,生產環境參數暫時沒有下來。)
總結
以上是生活随笔為你收集整理的java对接银联商务公众号+服务窗支付(5)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DXP在画PCB图时,选中或拖动原件时,
- 下一篇: 中国联通计费侧H2协议接口实现