ตัวอย่างในบทความนี้แบ่งปันรหัสการชำระเงินของแอป Java WeChat สำหรับการอ้างอิงของคุณ เนื้อหาเฉพาะมีดังนี้
นำเข้า java.io.ioException; นำเข้า java.io.unsupportencodingexception; นำเข้า java.util.random; นำเข้า org.apache.http.parseException; นำเข้า org.apache.http.client.clientprotocolexception; org.apache.http.entity.stringentity; นำเข้า org.apache.http.impl.client.defaulthttpClient; นำเข้า org.apache.http.util.entityutils; นำเข้า org.json.jsonarray; "WX0378BF81ABFE3D26"; // ตั้งค่าคงที่ส่วนตัวสุดท้าย int MCH_ID = 1252196606; // ตั้งค่าสตริงสุดท้ายคงที่ส่วนตัว api_key = "b8b9c2bbe92d57cc38fde49745056167"; "http://www.xxx.com/weixin_notify_url.jsp";//set String สุดท้ายคงที่ String Trade_type =" App "; // โมฆะคงที่สาธารณะ (สตริง [] args) {posttowechat (" 5455545 "," test ", 0.01); Posttowechat ("5455545", "จีน", 0.01); // มันจะล้มเหลว}/** * ส่งไปยัง wechat * * @param out_trade_no * หมายเลขคำสั่งซื้อของระบบของคุณเอง xml = ใหม่ stringbuilder (); String nonce_str = getRandomString (32); string ip = "127.0.0.1"; // ip ไคลเอ็นต์จัดการ jsonObject ตัวเอง jsonObject jso = new JsonObject (); สตริง prepay_id = "", sign = ""; ลอง {String weixinMoney = ใหม่ java.text.decimalformat ("#"). รูปแบบ (เงิน * 100); // weChat แบ่งออกเป็นหน่วยดังนั้นมันจะต้องคูณด้วย 100 xml.append ("appid ="). xml.append ("& mch_id ="). ผนวก (MCH_ID) .Append ("& nonce_str ="). ผนวก (nonce_str); xml.append ("¬ify_url ="). ผนวก (notify_url) .append ("& out_trade_no ="). ผนวก (out_trade_no) .append ("& spbill_create_ip =") xml.append ("& total_fee ="). ต่อ (weixinmoney) .append ("& trade_type ="). ผนวก (trade_type) .append ("& key ="). ผนวก (api_key); sign = new util (). MD5PUFLING (XML.TOSTRING ()). TOUPPERCASE (); // MD5 การเข้ารหัสการเข้ารหัสลายเซ็นของตัวเองและจะไม่ถูกใส่ลงบน XML.DELETE (0, XML.Length ()); xml.append ("<xml>"); xml.append ("<appid>"). ต่อไป (appid) .append ("</appid>"); xml.append ("<body>"). ต่อ (ร่างกาย) .append ("</body>"); XML.Append ("<MCH_ID>"). ต่อ (mCH_ID) .Append ("</MCH_ID>"); xml.append ("<nonce_str>"). ต่อ (nonce_str) .append ("</nonce_str>"); xml.append ("<notify_url>") ผนวก (notify_url) .append ("</notify_url>"); xml.append ("<out_trade_no>"). ต่อ (out_trade_no) .append ("</out_trade_no>"); xml.append ("<spbill_create_ip>"). ผนวก (ip) .append ("</spbill_create_ip>"); XML.Append ("<Total_fee>") ผนวก (WeixinMoney) .Append ("</Total_fee>"); XML.Append ("<RADE_TYPE>") ผนวก (Trade_type) .Append ("</trade_type>"); xml.append ("<mign>"). ต่อ (ลงชื่อเข้าใช้) .append ("</ign>"); XML.Append ("</xml>"); httppost post = new httppost ("https://api.mch.weixin.qq.com/pay/unifiedorder"); strentEntity entity = new StressEntity (XML.TOSTRING (), "UTF-8"); entity.setContentEncoding ("UTF-8"); entity.setContentType ("text/xml"); post.setEntity (เอนทิตี); JsonArray ChildNodes = jsonml.tojsonObject (entityutils.toString (ใหม่ defaulthttpClient (). ดำเนินการ (โพสต์) .getEntity (), "UTF-8")). getJsonArray ("ChildNodes"); System.out.println (ChildNodes); int len = childNodes.length () - 1; สำหรับ (int i = len; i> -1; i--) {jsonObject js = childNodes.getJsonObject (i); if (js.get ("tagname"). equals ("prepay_id")) {prepay_id = js.getjsonarray ("childNodes"). getString (0); หยุดพัก; }}} catch (unsupportencodingException e) {e.printstacktrace (); } catch (parseexception e) {e.printstacktrace (); } catch (clientprotocolexception e) {e.printstacktrace (); } catch (ioexception e) {e.printstacktrace (); } jso.put ("sign", sign); jso.put ("appid", appid); jso.put ("noncestr", nonce_str); jso.put ("แพ็คเกจ", "sign = wxPay"); jso.put ("partnerId", mch_id); jso.put ("prepayid", prepale_id); jso.put ("timestamp", system.currenttimeMillis ()); กลับ JSO; } / ** * หมายถึงความยาวของสตริงที่สร้างขึ้น * * @param ความยาว * @return * / สตริงคงที่ส่วนตัว getRandomString (ความยาว int) {String base = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; สุ่มสุ่ม = ใหม่สุ่ม (); StringBuffer sb = new StringBuffer (); สำหรับ (int i = 0; i <length; i ++) {หมายเลข int = random.nextint (base.length ()); sb.append (base.charat (หมายเลข)); } return sb.toString (); -ข้างต้นเป็นเรื่องเกี่ยวกับบทความนี้ฉันหวังว่ามันจะเป็นประโยชน์สำหรับทุกคนในการเรียนรู้การเขียนโปรแกรม Java