この記事の例は、参照のためにJava Wechatアプリの支払いコードを共有しています。特定のコンテンツは次のとおりです
java.io.ioexception; Import java.io.unsupportedencodingexception; Import java.util.random; Import org.apache.http.parseexception; import org.apache.http.client.clientprotocolexception; Import org.apache.http.client.methods.s.s.s.s.s.s.s. apache.http.entity.stringentity; import org.apache.http.impl.client.defaulthttpclient; Import org.apache.http.util.entityutils; Import org.json.jsonarray; org.jsonobismをインポートするorg.jsonob; "WX0378BF81ABFE3D26"; // SET PRIVATER STATIC FINAL INT MCH_ID = 1252196606; // SET Private Static Final String API_KEY = "B8B9C2BBE92D57CC38FDE49745056167"; // "http://www.xxx.com/weixin_notify_url.jsp";//set private static final string trade_type =" app "; // public static void main(string [] args){posttowechat(" 54555545 "、" test "、0.01); PostToweChat( "5455545"、 "中国語"、0.01); //失敗します= new StringBuilder();文字列nonce_str = getRandomString(32); String IP = "127.0.0.1"; //クライアントIPはJSonObject自体JSONObject JSO = new JSonObject()を処理します。 string prepay_id = ""、sign = ""; try {string weixinmoney = new java.text.decimalformat( "#")。フォーマット(Money * 100); // wechatはユニットに分割されているため、100 xml.append( "appid =")。 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 =")。 xml.Append( "&total_fee =")。append(weixinmoney).append( "&trade_type =")。append(trade_type).append( "&key =")。append(api_key); sign = new Util()。md5purity(xml.tostring())。touppercase(); // md5暗号化署名暗号化クラスはそれ自体で解決され、xml.delete(0、xml.length())には置かれません。 xml.append( "<xml>"); xml.Append( "<Appid>")。append(appid).append( "</appid>"); xml.Append( "<body>")。append(body).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( "<out_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( "<trade_type>")。append(trade_type).append( "</trade_type>"); xml.Append( "<sign>")。append(sign).append( "</sign>"); xml.append( "</xml>"); httppost post = new httppost( "https://api.mch.weixin.qc.com/pay/unidedorder"); Stringentity Entity = new Stringentity(xml.toString()、 "utf-8"); entity.setContentenCoding( "utf-8"); entity.setContentType( "text/xml"); post.setEntity(エンティティ); jsonarray Childnodes = jsonml.tojsonobject(entityutils.tostring(new defaulthttpclient()。execute(post).getentity()、 "utf-8"))。 System.out.println(ChildNodes); int len = childnodes.length()-1; for(int i = len; i> -1; i--){jsonobject js = childnodes.getjsonobject(i); if(js.get( "tagname")。壊す; }}} catch(unsupportedencodingexception 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( "package"、 "sign = wxpay"); jso.put( "partnerid"、mch_id); jso.put( "prepayid"、prepare_id); jso.put( "Timestamp"、System.CurrentTimemillis()); JSOを返します。 } / ** *生成された文字列の長さ * * @param length * @return * / private static string getRandomString(int length){string base = "abcdefghijklmnopqrstuvwxyz0123456789"; RANDOM RANDOM = new Random(); stringbuffer sb = new StringBuffer(); for(int i = 0; i <length; i ++){int number = random.nextint(base.length()); sb.append(base.charat(number)); } return sb.toString(); }}上記はこの記事に関するものです。誰もがJavaプログラミングを学ぶことが役立つことを願っています。