私はそれほどナンセンスとは言いません、私はあなたにJavaコードを投稿するだけです。
特定のコードは次のとおりです。
/*支払いプロセス*// **** Controller.javaコードは次のとおりです。 ModelandView( "***/submit");/*** code block*/return model;}/*submit.jspコードは次のとおりです。 " - // W3C // DTD HTML 4.01 Transitional // En"> <HTML> <head> <title> pay </title> <meta http-equiv = "pragma" content = "no-cache"> <meta http-equiv = "cache-control" content = "no-cache =" expise " content = "0"> </head> <body> <%request.setcharacterencoding( "utf-8"); string type =(string)request.getTribute( "type"); string shtmltext = ""; if( "1" .equals(type)){shtmltext = payutil.buildform((string)request.getttribut request.getAttribute( "amt")、type);} else {shtmltext = payutil.allinpaybuildform((string)request.getattribute( "orderno")、(string)request.getattribute( "amt")、type、request);} Payutil.javaコードは次のとおりです。* // ***ページデータを生成* @param urlサードパーティの支払いのためのURL* @param spara* @param strmethod* @return*/public static string buildrequest(string url、map <string> string> spara、string strmethod){arraylist keys = new arraylist(spara.keyset() sbhtml = new StringBuffer(); sbhtml.Append( "<form id =/" paysubform/"name =/" action =/" + url +"/"method =/" " +"/">"); for(int i = 0; i <keys.size(); ++ i){string name =(string)keys.get(i); string value =(string)spara.get(name); sbhtml.append( "<input type =/" hidden/"name =/" " + name +"/"value =/" + "/"/"/> " style =/"display:none;/"> </form> "); sbhtml.append(" <script> documents.forms [/'paysubform/']。submit(); </script> "); return sbhtml.tostring();}/*** return's livelihood as a cultsno* @parm amt* @parm amt buildform(string orderno、string amt、string type){// merchant number string merchantid = propertiesread.use_classloador()。getProperty( "cmbc.pay.id"); //注文番号マーチャントのトランザクション注文番号は、最大30ストリング=オーダーストリング= amt; PropertiesRead.use_ClassLoador()。getProperty( "cmbc.pay.type"); // "empty"; // currency 01はcnystring currencytype = "01"; //ピックアップの自動転送ページ0→NOジャンプ; 1→ジャンプ文字列autojump = "1"; //ジャンプ待機時間文字列waittime = "0"; // merry pickup url string merurl = propertiesread.use_classloador()。getProperty( "cmbc.pay.return.page.url"); //商人に通知するかどうか:0→NOT NOTIFY; 1→not not not not String informmer = "1"; // merchant通知urlstring informurl = propertiesread.use_classloador()。getProperty( "cmbc.pay.return.notify.url"); 1→return*/string cundile = "1"; // bank bank string merbank = "empty"; // pay type 0→インスタント到着; 1→セキュアトランザクション文字列cordetype = "0"; //マーチャントサイドで銀行を選択するかどうか:0→その他; 1→Merchant Side String Bankinput = "0"; // InterfaceバージョンString Strinterface = "5.00"; // Remarks(オプション)支払い件名、最大長50ストリングリアーク= "Recharge"; // Bank Card Type 00→DebitおよびLoan Mix; 01→Pure Debit String BankCardType = "00"; //製品説明文字列Pdtdnm = "Virtual Product"; // Product Description String String Pdtdetailurl = PropertiesRead.use_ClassLoador()。メンテナンスのためのマーチャントマネジメントシステム、およびそれを使用して商人の支払いを送信して支払い結果をアップロードして文字列md5key = propertiesed.use_classloador()。getProperty( "cmbc.pay.pwd"); Mac_src = "merchantid ="+merchantid+"&merorderid ="+merorderid+"&lumentsum ="+lumentsum+"&subject ="+"+currencytype+"&autojump = "+autojump+"&waittime = "+waittime+"&merur = "+merur+"+merur + "&Informurl =" + Informurl + "&confism =" + confirm + "&merbank =" + merbank + "&cradetype =" + cradetype + "&bankinput =" + bankinput + "&interface =" + strinterface + "&bankcardtype =" + bankcardtype + " "&merkey ="+md5key; string mac = crypto.getMessageGest(mac_src); //リクエストパラメーターをmapmap <string、string> sparatemp = new hashmap <string、string>(); sparatemp.put( "merchantid"、merchantid); merchantid); sparatemp.put( "lumentsum"、lumentsum); sparatemp.put( "subject"、subject); sparatemp.put( "currencytype"、currencytype); sparatemp.put( "autojump"、autojump); sparatemp.put( "waittime"、waittime "、waittime(waittime); Merurl); Sparatemp.put( "Informer"、Informer); Sparatemp.put( "Informurl"、Informer); sparatemp.put( "Confirm"、confirm); sparatemp.put); sparatemp.put( "tradetype"、sparatempe "(" bandetempe " bankinput); sparatemp.put( "interface"、strinterface); sparatemp.put( "areg"、areg "、sparatemp.put(" bankcardtype "、bankcardtype); sparatemp.put(" pdtdnm "、pdtdnm); pdtdetailurl); sparatemp.put( "mac"、mac); // request string string shtmltext = buildrequest(propertiesRead.use_classloador()。getProperty( "cmbc.pay.url")、sparatemp、 "post"); logger.info( "mcpay request:; shtmltext;}/"crypto.javaコードは次のとおりです。/インポートjava.security.messagegest; import java.security.nosuchalgorithmexception;/*** <p>タイトル:md5 escryption algorithm </p>*<p>の説明:</p> p>*<p>*<P>権利予約。 strsrc.getBytes(); try {md = mesagedigest.getInstance(algo_md5); md.update(bt); strdes = bytes2hex(md.digest());} catch(nosuchalgorithmexception e) ");} return strdes;}/***バイト配列をhex string(hex string)* @param bts byteアレイに変換して、変換されたhex string2hex(byte [] bts){string des =" "; string tmp = null; (integer.tohexstring(bts [i]&0xff)); if(tmp.length()== 1){des += "0";} des += tmp;} return des;}/*** pay return call url(return to page)* @param session* @return*/ @requiret = "/lirectunt =" "/parytun RequestMethod.Post)public ModelandView allinpayreturncall(httpservletrequest request、httpservletResponse応答、@RequestParam Map <String、Object> Maps){ModelandView Model = new ModelandView( "***/Payreturn");上記は、お客様に紹介されたJavaコードに基づいて、支払いと充電を実装する一般的なプロセスに関する関連する知識です。それがあなたに役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!