1.1 วิเคราะห์ข้อมูลการโทรกลับ WeChat
InputStream Instream = request.getInputStream (); ByTeArrayOutputStream Outsteam = ใหม่ byteArrayOutputStream (); byte [] buffer = byte ใหม่ [1024]; int len = 0; ในขณะที่ (len = stream.read (บัฟเฟอร์))! = -1) len);} outsteam.close (); instream.close ();/** รับข้อมูล XML ส่งคืนของ weChat call notify_url*/สตริงผลลัพธ์ = สตริงใหม่ (outsteam.tobytearray (), "UTF-8");
ผลลัพธ์คือข้อมูล XML ที่ส่งคืนโดยการโทรกลับ WeChat
1.2 การแยกวิเคราะห์ข้อมูล XML ที่ส่งคืนโดย WeChat
/*** ข้อมูล XML ที่ส่งคืนโดยการเรียกกลับ WeChat ที่เข้ามา* ส่งคืนค่าง่ายในรูปแบบของแผนที่* DOM4J Parses XML และส่งคืนคู่คีย์-ค่าองค์ประกอบระดับแรก หากองค์ประกอบระดับแรกมีลูกค่าของโหนดนี้จะว่างเปล่า* @param strxml* @return* @throws documentexception*/ @suppresswarnings ("rawtypes") public static sortedmap <string, string> dom4jxmlparse (String strxml) documentHelper.parsetext (strxml); องค์ประกอบรูท = doc.getRootelement (); สำหรับ (ตัววนซ้ำ iterator = root.elementiterator (); iterator.hasnext ();) {องค์ประกอบ e = (องค์ประกอบ) iterator.next (); smap.put ส่งคืนข้อมูลรูปแบบแผนที่ที่สั่งซื้อและค่าจะถูกใช้เพื่อรับข้อมูลโดยใช้ smap.get ("ชื่อฟิลด์")
1.3 ตรวจสอบความถูกต้องตามกฎหมายของลายเซ็นการส่งคืนของ WeChat
/*** ไม่ว่าจะลงนาม WeChat v3 กฎคือ: เรียงลำดับตามชื่อพารามิเตอร์ AZ และพารามิเตอร์ที่พบค่าว่างไม่ได้มีส่วนร่วมในลายเซ็น* ส่งผ่านใน WeChat เพื่อส่งคืนข้อมูลพารามิเตอร์ SortedMap หลังจากการวิเคราะห์ข้อมูล* ตรวจสอบว่าข้อความทางกฎหมายที่ส่งโดยการตรวจสอบ บูลีน isWechatsign (sortedMap <string, string> scratch, string apikey) {stringbuffer sb = new Stringbuffer (); set es = smoke.entryset (); iterator it = es.iterator (); ในขณะที่ (it.hasnext ()) {map.entry entry = (map.entry) it.next (); string k = (string) entry.getKey (); string v = (string) entry.getValue (); if (! "sign" .equals (k) && null! + "&");}} sb.append ("key =" + apikey);/** ลายเซ็นที่ตรวจสอบแล้ว*/String sign = md5util.md5encode (sb.toString (), "UTF-8") smap.get ("sign")). touppercase (); return validsign.equals (sign);} คำแนะนำส่วนบุคคล: ก่อนที่จะตรวจสอบความถูกต้องตามกฎหมายของลายเซ็น WeChat คุณสามารถพิจารณาได้ก่อนว่า return_code และ result_code ที่ส่งคืนโดย WeChat นั้นประสบความสำเร็จหรือไม่
ข้างต้นคือความถูกต้องตามกฎหมายของข้อมูลการตรวจสอบ WeChat Pay Java Version V3 ที่แนะนำโดยบรรณาธิการ ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!