لن أقول الكثير من الهراء ، سأقوم فقط بنشر رمز Java لك.
الرمز المحدد كما يلي:
/*عملية الدفع*// **** controller.java الكود كما يلي:*/ @requestmapping (value = "/paysubmit.htm" ، method = requestMethod.post) publicandview paysubmit (httpservletrequest request ، httpservletsponse ، respons ModelandView ("***/submit") ؛/*** كتلة رمز*/نموذج الإرجاع ؛}/*إرسال. Public "-// 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"> content = "0"> </head> <body> <٪ request.setcharacterencoding ("utf-8") ؛ string type = (string) request.getattribute ("type") ؛ string shtmltext = "" "؛ if (" 1 ".equals (type)) request.getAttribute ("amt") ، type) ؛} else {shtmltext = payutil.allinpaybuildform ((string) request.getattribute ("orderno") ، (string) request.getAttribute ("amt") ، type ، request) ؛ out.println (shtmltext) ؛ ٪> </html> رمز payutil.java هو كما يلي:* // *** إنشاء بيانات الصفحة* param url عنوان URL لدفع الطرف الثالث* param spara* param strmethod* @return*/public static string buildRequest (string url ، map ، string> spara ، strmethod) {arrayList new StringBuffer () ؛ sbhtml.append ("<form id =/" paysubform/"name =/" paysubform/"action =/" + url + "/" method =/"" + strmethod + "/"> ") ؛ 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 =/" + value + "/"/> /ستان) ؛ style =/"display: none ؛/"> </pump> ") ؛ sbhtml.append (" <cript> document.forms [/'paysubform/']. Buildform (string orderno ، string amt ، type type) {// number number merchant merchantid = propertiesRead.use_ClassLoador (). getProperty ("cmbc.pay.id") propertiesRead.use_Classloador (). getProperty ("cmbc.pay.type") ؛ // "فارغة" ؛ // العملة 01 هي cnystring currencytype = "01" ؛ 1 → Jump String AutoJump = "1" ؛ // قفز وقت الانتظار timttime = "0" ؛ // merry pickup url merurl = propertiesRead.use_ClassLoador (). getProperty ( // ما إذا كان لإخطار التجار: 0 → لا تخطر ؛ 1 → لا تخطر السلسلة informmer = "1" ؛ // الإخطار التجاري urlstring informurl = propertiesRead.use_ClassLoador (). 1 → إرجاع*/سلسلة تأكيد = "1" ؛ // دفع سلسلة البنك merbank = "فارغة" ؛ // pay type 0 → وصول فوري ؛ 1 → Secure Transaction String Trickype = "0" ؛ // ما إذا كان يجب تحديد بنك على الجانب التاجر: 0 → Other ؛ 1 → حدد بنكًا على سلسلة Merchant Side String BankInput = "0" ؛ // واجهة إصدار سلسلة Strinterface = "5.00" ؛ // ملاحظات (اختياري) معلومات ملاحظات الدفع ، الحد الأقصى لتصريح 50String الطول = "Recharge" ؛ // pay type type 00 → mibe و mix القرض ؛ 01 → سلسلة الخصم الخالصة bankcardType = "00" ؛ // وصف المنتج سلسلة pdtdnm = "منتج افتراضي" ؛ // سلسلة وصف السلسلة pdtdetailurl = propertiesRead.use_classloador (). نظام إدارة التاجر للصيانة ، واستخدامه لإرسال مدفوعات التجار إلى أعلى وتحميل نتائج الدفع لتشفير السلسلة md5key = propertiesRead.use_Classloador (). getProperty ("cmbc.pay.pwd") ؛ mac_src = "merchantid ="+merchantid+"& merorderid ="+merorderid+"& curysum ="+regerSum+"& thision =" object+"¤cytype ="+currencype+" + "& informurl =" + informurl + "& تأكيد =" + تأكيد + "& merbank =" + merbank + "& tradetype =" + tradetype + "& bankinput =" + bankinput + "& interface = "& merkey ="+md5key ؛ string mac = crypto.getMessAgedIgest (mac_src) ؛ // حزم معلمات الطلب في mapmap <string ، string> sparatemp = new hashmap <string ، string> () ؛ sparatemp.put ("merchantid" ، merchantid) ؛ sparatemp.put ("merorderid" ، "،" ، "،" ، "،" ، merchantid) ؛ sparatemp.put ("heorsum" ، murseM) ؛ sparatemp.put ("الموضوع" ، الموضوع) ؛ sparatemp.put ("currencytype" ، currencytype) ؛ sparatemp.put ("autojump" ، autojump) ؛ sparatemp.put ("waittime) ؛ merurl) ؛ sparatemp.put ("informer" ، informer) ؛ sparatemp.put ("informurl" ، informer) ؛ sparatemp.put ("تأكيد" ، تأكيد) ؛ sparatemp.put ("merbank" ، merbank) ؛ sparatemp.put ("tradetype" ، tradetype) ؛ sparatemp. bankinput) ؛ sparatemp.put ("واجهة" ، strinterface) ؛ sparatemp.put ("ملاحظة" ، ملاحظة) ؛ sparatemp.put ("bankcardtype" ، bankcardtype) ؛ sparatemp.put ("pdtdnm" ، pdtdnm) pdtdetailurl) ؛ sparatemp.put ("mac" ، mac) ؛ // إنشاء سلسلة طلب shtmltext = buildRequest (propertiesRead.use_Classloador (). shtmltext ؛}/"crypto.java رمز هو كما يلي"/استيراد java.security.messagedigest ؛ استيراد java.security.nosuchalgorithMexcept الحقوق محفوظة. </p>*/class crypto {/*** الوظيفة: md5 تشفير* @param strsrc سلسلة المصدر المشفرة* @ @return طول السلسلة المشفرة 32 بت*/سلسلة ثابتة public ؛ strsrc.getBytes () ؛ حاول {md = messagedigest.getInstance (algo_md5) ؛ md.update (bt) ؛ strdes = bytes2hex (md.digest () ؛} catch (nosuchalgorithmexception e) ") ؛} return strdes ؛}/*** قم بتحويل صفيف البايت إلى سلسلة hex (سلسلة hex)* param bts byte لتحويل* @return bytes2hex (byte [] bts [] bts) {string des =" " (integer.toHexString (bts [i] & 0xff)) ؛ if (tmp.length () == 1) {des += "0" ؛ requestmethod.post) modelandview public allinPayReturnCall (طلب httpservletrequest ، httpservletresponse ، @requestparam map <string ، object> maps) {modelandview model = new modelandview ("***/payreturn")ما سبق هو المعرفة ذات الصلة بالعملية العامة لتنفيذ الدفع وإعادة الشحن بناءً على رمز Java الذي تم تقديمه لك. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!