1.1 WeChat 콜백 데이터를 분석하십시오
inputStream instream = request.getInputStream (); byTearRayOutputStream outSteam = bytearRayoutputStream (); butte [] buffer = new Byte [1024]; int len = 0; while (len = instream.read (buffer)) {outsteam.write (buffer, 0, 0, len);} outsteam.close (); instream.close ();/** wechat 호출의 반품 xml 정보 받기 notify_url*/string result = new String (outsteam.tobytearray (), "UTF-8"); 결과적으로 WeChat 콜백이 반환 한 XML 데이터가 있습니다.
1.2 WeChat이 반환 한 XML 데이터를 구문 분석합니다
/*** XML 수신 WeChat 콜백이 반환 한 XML 정보* 맵 형식으로 쉬운 값을 반환합니다. 첫 번째 레벨 요소에 어린이가있는 경우,이 노드의 값은 비어 있으면* @param stxml* @return* @throws documentException*/ @suppresswarnings ( "rawtypes") public static sortedmap <string, String> dom4jxmlparse (String Strxml) Throws DocumentException {SortedMap <stratch = new Tremap <street, string> (string, string). DocumentHelper.parsetext (strxml); 요소 root = doc.getRootElement (); for (iterator iterator = root.elementiterator (); iterator.hasnext ();) {element e = (요소) iterator.next (); smap.put (); 정렬 된 맵 형식 데이터를 반환하고 값은 smap.get ( "필드 이름")을 사용하여 데이터를 얻는 데 사용됩니다.
1.3 WeChat의 반환 서명의 합법성을 확인하십시오
/*** WeChat v3에 서명할지 여부, 규칙은 다음과 같습니다. 매개 변수 이름 AZ와 비어있는 값을 만나는 매개 변수는 weChat에서 weChat에 참여하지 않아 정보 분석 후에 정렬 맵 형식 매개 변수 데이터를 반환하지 않습니다* @param smile* @param apikey (@param apikey)*/ @suppresswarnings " 정적 부울 iswechatsign (sortedMap <string, string> scratch, string apikey) {StringBuffer sb = new StringBuffer (); set es = smoke.entryset (); iterator it = es.iterator (); while (it.hasnext ()) {map.entry entry = (map.entry) it.next (); String k = (string) entry.getKey (); String v = (string) entry.getValue (); if (! ".equals (k) && null! = v &&!" ". + "&");}} sb.append ( "key =" + apikey);/** verified signature*/string sign = md5util.md5encode (sb.toString (), "utf-8"). touppercase ();/** wechat 측면에서 반환 된 법적 서명 = (String). smap.get ( "sign")). touppercase (); return validsign.equals (sign);} 개인 제안 : WeChat 서명의 정당성을 확인하기 전에 먼저 WeChat에 의해 반환 된 return_code 및 result_code가 성공했는지 여부를 결정할 수 있습니다.
위는 편집자가 귀하에게 소개 한 Wechat Pay Java 버전 v3 확인 데이터의 합법성입니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!