Artikel ini membagikan antarmuka kueri untuk pesanan pembayaran WeChat untuk referensi Anda. Konten spesifiknya adalah sebagai berikut
1. Pengantar antarmuka
2. Implementasi Kode
Paket com.zhrd.bussinss.platform.controller.shop; import java.io.file; impor java.io.fileinputStream; impor java.security.keystore; import java.text.simpledformat; import java.util.date; impor javax.net.nets; javax.servlet.http.httpservletRequest; import javax.servlet.http.httpservletresponse; import net.sf.json.jsonobject; import org.apache.http.httpentity; impor org.apache.http.clentpethod.httpentity; impor org.apache.http.clentpethod.hthospentity; impor org.apache.http.clentpethod.htpethentity; Impor org.apache.http.clentpethod.htaphyse; org.apache.http.client.methods.httppost; impor org.apache.http.conn.ssl.sslconnectionCocketFactory; impor org.apache.http.conn.ssl.slcontexts; impor org.apache.http.htttp.string. org.apache.http.impl.client.closeableHttpClient; import org.apache.http.impl.client.httpclients; impor org.dom4j.document; impor org.dom.element; impor org.dom4j.io.saxReader; org.springframework.beans.factory.annotation.Autowired; Impor org.springframework.stereotype.controller; impor org.springframework.web.bind.annotation.restmapping; impor org.spramework.web.bind.annotation. org.springframework.web.bind.annotation.requestparam; impor org.springframework.web.bind.annotation.responseBody; impor com.zhrd.bussins.platform.service.weixinpayservice; impor com.zhrd.bussinss.plateRonCrform.weixinpayservice; impor com.zhrd.bussinss.platforms.complic.coCrontOMICE.COMROMLE.COMROMLE. com.zhrd.bussinss.platform.weixInpayutils.clientcustomssl;@controller@requestMapping ("/shop/weixInpayorderSearch") kelas publik weixinpayorderService; /** * WeChat Pengeluaran Status Pesanan Permintaan * @param Permintaan * @param Permintaan * @return */@RequestMapping (value = "/init", Method = requestMethod.get) Public String init (httpservletRequest, httpservletResponse response) {return "weixinpaydaysearch"; } /** * WeChat expenditure order status query* @param request * @param response * @return */ @RequestMapping(value="/getWeiXinPayOrder",method=RequestMethod.POST ) @ResponseBody public Object getWeiXinPayOrder(HttpServletRequest request,HttpServletResponse response,@RequestParam(required=false) String transactionId,@requestParam (wajib = false) string outtradeno) {coba {keystore keystore = keystore.getInstance ("pkcs12"); FileInputStream instream = new FileInputStream (file baru (CustomizedPropertyplaceCerConfigurer.getContextProperty ("wx.cert"). ToString ())); coba {keystore.load (instream, "lihat email" .tochararray ()); } akhirnya {enterstream.close (); } // mempercayai ca sendiri dan semua sertifikat mandiri sslcontext sslcontext = sslcontexts.custom (). LoadKeyMaterial (keystore, "10061401" .tochararray ()). Build (); // Izinkan TLSV1 Protocol Hanya SSLConnectionCocketFactory SSLSF = SSLConnectionCockeTfactory baru (SSLContext, String baru [] {"tlsv1"}, null, sslconnectionCocketFactory.allow_all_hostname_HostName_Verifier); CloseableHttpClient httpClient = httpclients.custom () .setsslsocketfactory (sslsf) .build (); // httpget httpget = baru // httpget ("https://api.mch.weixin.qq.com/secapi/pay/refund"); Httppost httppost = httppost baru ("https://api.mch.weixin.qq.com/pay/orderquery"); Tanggal dt = tanggal baru (); SimpleDateFormat SDF = new SimpleDateFormat ("yyyymmddhhmmss"); String noncestr = sdf.format (dt) .toString (); <pre name = "code"> string xml = clientcustomssl.searchnativePackage (transactionid.trim (), "", noncestr); // Ini adalah ID sisi wechat (kedua ID lokal dan server dapat diulang) {ini STREED; httppost.setentity (SE); System.out.println ("Execting Request" + httppost.getRequestline ()); CloseableHttpresponse responseEntry = httpclient.execute (httppost); coba {httpentity entity = responseEntry.getEntity (); System.out.println ("----------------------------------------"); System.out.println (responsEntry.getStatusLine ()); if (entitas! = null) {System.out.println ("Panjang konten respons:" + entity.getContentLength ()); /*BufferedReader bufferedReader = BufferedReader baru (inputStreamReader baru (entity.getContent ())); Teks String; while ((text = bufferedreader.readline ()))! = null) {System.out.println ("=================="+Teks); }*/ Saxreader saxreader = baru saxreader (); Dokumen dokumen = saxreader.read (entity.getContent ()); Elemen rootelt = document.getrooteLement (); System.out.println ("Node Root:" + 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 hasil = jsonObject () baru; System.out.println ("RRESSCODE ======"+RACKCODE); 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! = null && resultCode.equals ("Success") && returnCode.equals ("Success")) {result.put ("tradestate", rootelt.elementText ("trade_state")); 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", "sukses"); result.put ("msg", "success"); } lain jika (returnCode.equals ("Success")) {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")); } hasil pengembalian; } // entityutils.consume (entitas); } akhirnya {responseEntry.close (); }} akhirnya {httpclient.close (); }} catch (Exception e) {e.printstacktrace (); JSONObject hasil = jsonObject () baru; result.put ("status", "error"); result.put ("msg", e.getMessage ()); hasil pengembalian; } kembali ""; }}Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.