Los ejemplos en este artículo comparten el código de pago de la aplicación Java WeChat para su referencia. El contenido específico es el siguiente
import java.io.ioException; import java.io.unsupportedEncodingException; import java.util.random; import og.apache.http.parseException; import org.apache.http.client.clientprotocolexception; import org.apache.http.client.methods.httttttttttttpost org.apache.http.entity.StringEntity; import org.apache.http.impl.client.defaUsthttpClient; importar org.apache.http.util.entityUtils; importar org.json.jsonarray; import og.json.jsonml; import og.json.jsonObject; private state sting sting appDpid appidpid appidpidpidpid string string appidpidpid = stating stating sting {state stating sting stings; "WX0378BF81ABFE3D26"; // Establecer la estática privada final int mCH_ID = 1252196606; // Establecer una cadena final estática privada API_KEY = "B8B9C2BBE92D57CC38FDE49745056167"; // Estable "http://www.xxx.com/weixin_notify_url.jsp" ;//set static static string stress_type =" app "; // public static void main (string [] args) {posttoweChat (" 5455545 "," prueba ", 0.01); postToWeChat("5455545", "Chinese", 0.01);//It will fail} /** * Submit to WeChat* * @param out_trade_no * Order number of your own system* @param body * Title* @param money * Amount * @return */ private static JSONObject postToWeChat(String out_trade_no, String body, double money) { StringBuilder xml = new StringBuilder (); Cadena nonce_str = getRandomString (32); String IP = "127.0.0.1"; // El cliente IP maneja JSONObject en sí mismo JSONObject JSO = new JsonObject (); Cadena prepay_id = "", sign = ""; Pruebe {String weixInmoney = new java.text.DecimalFormat ("#"). Format (Money * 100); // WeChat se divide en unidades, por lo que debe multiplicarse por 100 xml.append ("appid ="). append (appid) .append ("& body ="). append (nueva cadena (body.getBytes ("" "", "", "", "") "UTF-8")); xml.append ("& mch_id ="). append (mch_id) .append ("& nonce_str ="). append (nonce_str); xml.append ("¬ify_url ="). append (notify_url) .append ("& out_trade_no ="). append (out_trade_no) .append ("& spbill_create_ip ="). append (ip); xml.append ("& Total_fee ="). Append (weixinMoney) .Append ("& Trade_type ="). Append (Trade_Type) .Append ("& Key ="). Append (API_KEY); signo = new Util (). Md5Purity (XML.ToString ()). TOUPPERCASE (); // MD5 La clase de encriptación de firma de cifrado se resuelve por sí misma y no se colocará en xml.delete (0, xml.length ()); xml.append ("<xml>"); XML.Append ("<Ppid>"). Append (Appid) .Append ("</appid>"); xml.append ("<body>"). append (cuerpo) .append ("</body>"); xml.append ("<Mch_id>"). append (mch_id) .append ("</mch_id>"); XML.Append ("<Nonce_str>"). Append (nonce_str) .Append ("</nonce_str>"); xml.append ("<notify_url>"). append (notify_url) .Append ("</notify_url>"); xml.append ("<ut_trade_no>"). append (out_trade_no) .append ("</out_trade_no>"); xml.append ("<spbill_create_ip>"). append (ip) .append ("</spbill_create_ip>"); xml.append ("<total_fee>"). append (weixinmoney) .append ("</total_fee>"); XML.Append ("<Cade_Type>"). Append (Trade_Type) .Append ("</comercial_type>"); XML.Append ("<Sign>"). Append (firmar) .Append ("</sign>"); xml.append ("</ xml>"); Httppost post = new httppost ("https://api.mch.weixin.qq.com/pay/unifiedorder"); StringEntity entity = new StringEntity (xml.ToString (), "UTF-8"); entity.setContentEncoding ("UTF-8"); entity.setContentType ("Text/xml"); post.setEntity (entidad); JSONArray ChildNodes = jsonml.tojsonObject (entityUTILLS.ToString (new DeFaUalThttpClient (). Ejecutar (post) .getEntity (), "Utf-8")). GetJsonArray ("ChildNodes"); System.out.println (nodos infantiles); int len = childnodes.length () - 1; para (int i = len; i> -1; i--) {jsonObject js = childNodes.getJsonObject (i); if (js.get ("tagName"). Equals ("prepay_id")) {prepay_id = jsgetjsonArray ("bildNodes"). getString (0); romper; }}} Catch (UnsupportedEncodingException e) {E.PrintStackTrace (); } catch (ParseException e) {E.PrintStackTrace (); } Catch (ClientProtocolexception e) {E.PrintStackTrace (); } catch (ioException e) {E.PrintStackTrace (); } jso.put ("firmar", firmar); jso.put ("appid", appid); JSO.put ("Non -CESTR", NonCe_STR); jso.put ("paquete", "firmar = wxpay"); jso.put ("socioid", mch_id); jso.put ("prepayid", prepare_id); JSO.put ("TimeStamp", System.CurrentTimemillis ()); regresar jso; } / ** * Indica la longitud de la cadena generada * * @param longitud * @return * / private static string getRandomString (int longitud) {string base = "abcdefghijklmnopqrstuvwxyz0123456789"; Aleatorio aleatorio = new Random (); StringBuffer sb = new StringBuffer (); for (int i = 0; i <longitud; i ++) {int number = random.nextint (base.length ()); sb.append (base.charat (número)); } return sb.ToString (); }}Lo anterior se trata de este artículo, espero que sea útil para todos aprender la programación de Java.