Dieser Artikel teilt die Abfrageschnittstelle für WeChat -Zahlungsbestellungen für Ihre Referenz. Der spezifische Inhalt ist wie folgt
1. Einführung in die Schnittstelle
2. Code -Implementierung
paket com.zhrd.bussinss.Platform.controller.shop; import Java.io.file; import Java.io.fileinputStream; Import Java.security.keyStore; javax.servlet.http.httpServletRequest; import javax.servlet.http.httpsertResponse; import net.sf.json.jsonObject; import org.apache.htttp.httpentity; org.apache.http.client.methods.httppost; import org.apache.http.conn.Ssl.SslconnectionsocketFactory; org.apache.http.impl.client.cloSeableHttpclient; import org.apache.http.impl.client.httpclients; import org.dom4j.document; import org.dom4j.element; import org.dom.IO.IO.SAXREADER; org.springframework.beans.factory.annotation.autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.Annotation.Requestmaping; Import org. org.springframework.web.bind.annotation.requestparam; import org.springframework.web.bind.annotation com.zhrd.bussinss.Platform.WeixinPayutils.clientCustomSl;@Controller@RequestMapping ("/shop/wixinpayordersearch") öffentliche Klasse WeixinPayorderSearchController {@autowired weixInpaysservice: /** * WeChat -Ausgabenbestellstatus Abfrage * @param request * @param request * @return */@RequestMapping (value = "/init", method = requestMethod.get) public string init (httpServletRequest -Anfrage, httpServletResponus) {return "wixInpayordersearch"; }/** * WeChat -Ausgabenbestellstatus Abfrage * @Param Anfrage * @param Antwort * @return */@RequestMapping (value = "/getWeixinPayorder", method = requestMethod. TransactionID,@RequestParam (fordert = false) String Outtradeno) {try {keystore keystore = keystore.getInstance ("pkcs12"); FileInputStream instream = new FileInputStream (neue Datei (CustomizedPropertyPlaMpleConConFigurer.getContextProperty ("wx.cert"). ToString ())); Versuchen Sie {keystore.load (instrenm, "siehe E -Mail" .toCharArray ()); } endlich {Enterstream.close (); } // Vertrauen Sie eigener CA und alle selbstsignierten Zertifikate SSLContext SSLContext = SSLContexts.custom (). Loadkeymaterial (Keystore, "10061401" .toCharArray ()). Build (); // TLSV1 -Protokoll nur sslConnectionsOCKETFACTORY SSLSF = NEU SSLCONNEctionsocketFactory (SSLContext, New String [] {"TLSV1"}, NULL, SSLCONNECTIONSOCKETFACTORY.All_Hostname_verifier); CloseableHttpclient httpclient = httpclients.custom () .setsSlsocketFactory (SSLSF) .build (); // httpget httpget = new // httpget ("https://api.mch.weixin.qq.com/secapi/pay/refund"); Httppost httppost = new httppost ("https://api.mch.weixin.qqq.com/pay/orderQuery"); Datum dt = neues Datum (); SimpleDateFormat SDF = new SimpledateFormat ("yyyymmddhhmms"); String noncest = sdf.format (dt) .toString (); <pre name = "code"> string xml = clientCustomsl.searchnativePackage (transactionId.trim (), "", noncestry); // Dies ist die Wechat -Seite (beide lokale IDs und Server -id -id). httppost.setentity (SE); System.out.println ("Ausführung von Anforderungen" + httppost.getRequestline ()); CloseableHttPresponse ResponseEntry = httpclient.execute (httppost); try {httpentity entity = reactionEntry.getEntity (); System.out.println ("------------------------------------"); System.out.println (responseEntry.getStatusline ()); if (entity! /*BufferedReader bufferedReader = new bufferedReader (neuer InputStreamReader (entity.getContent ()); Stringtext; while ((text = bufferedReader.readline ())! }*/ SAXReader Saxreader = new Saxreader (); Document document = saxreader.read (entity.getContent ()); Element rootelt = document.getrootelement (); System.out.println ("Root -Knoten:" + rootelt.getName ()); System.out.println ("==="+rootelt.elementText ("result_code")); System.out.println ("==="+rootelt.elementText ("return_msg")); String resultcode = rootelt.elementText ("result_code"); String returnCode = rootelt.elementText ("return_code"); JsonObject Ergebnis = new JSONObject (); System.out.println ("resultcode ======"+resultcode); System.out.println ("returnCode ======"+returnCode); System.out.println ("Trade_State ======"+Rootelt.elementText ("Trade_State")); System.out.println ("transaction_id ======"+rootelt.elementText ("transaction_id")); System.out.println ("out_trade_no ========="+ rootelt.elementText ("out_trade_no")); System.out.println ("Total_fee =========="+rootelt.elementText ("Total_fee")); if (resultcode! result.put ("transactionId", rootelt.elementText ("transaction_id")); result.put ("outtradeno", rootelt.elementText ("out_trade_no")); result.put ("TotalFee", Rootelt.elementText ("Total_fee")); result.put ("Status", "Erfolg"); result.put ("msg", "Erfolg"); } else if (returnCode.equals ("Erfolg") {result.put ("errorCheck", "errCode"); result.put ("Status", "false"); result.put ("errormsg", rootelt.elementText ("err_code_des")); } else {result.put ("errorCheck", "errmsg"); result.put ("Status", "false"); result.put ("errormsg", rootelt.elementText ("return_msg")); } Rückgabeergebnis; } // entityutils.consume (Entity); } endlich {reaktionEntry.close (); }} schließlich {httpclient.close (); }} catch (Ausnahme e) {e.printstacktrace (); JsonObject Ergebnis = new JSONObject (); result.put ("Status", "Fehler"); result.put ("msg", e.getMessage ()); Rückgabeergebnis; } zurückkehren ""; }}Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.