ฉันจะไม่พูดเรื่องไร้สาระมากฉันจะโพสต์รหัส Java ให้คุณ
รหัสเฉพาะมีดังนี้:
/*กระบวนการชำระเงิน*// **** คอนโทรลเลอร์. java รหัสมีดังนี้:*/ @requestmapping (value = "/paysubmit.htm", method = requestMethod.post) โมเดลสาธารณะและวิววิว ModelAndView ("***/subment");/*** บล็อกโค้ด*/return model;}/*subment.jsp รหัสมีดังนี้:*/< %@ page contentType = "ข้อความ/html; charset = utf-8" ภาษา = "java" trimdirectivewhitespaces = "True" % html public "-// w3c // dtd html 4.01 transitional // en"> <html> <head> <title> pay </title> <meta http-equiv = "pragma" เนื้อหา = "no-cache"> <meta http-equiv = "cache-control" conta content = "0"> </head> <body> <%request.SetchAracterenCoding ("UTF-8"); สตริงประเภท = (สตริง) คำขอ. getAttribute ("type"); string shtmltext = "" ถ้า ("1" .equals (type)) request.getAttribute ("amt"), type);} else {shtmltext = payutil.allinpaybuildform ((String) request.getAttribute ("orderno"), (string) request.getattribute ("amt"), ประเภท, request); มีดังนี้:* // *** สร้างข้อมูลหน้า* @param url url สำหรับการชำระเงินของบุคคลที่สาม* @param spara* @param strmethod* @return*/String String สาธารณะ public String buildRequest (url สตริง, แผนที่ <string, string, strmethod) StringBuffer (); sbhtml.Append ("<form id =/" paysubform/"name =" paysubform/"action =/" + url + "/" method =/"" + strmethod + "/"> "); สำหรับ (int i = 0; I <keys.size (); ++ i) {string name = (string) keys.get (i); ค่าสตริง = (string) spara.get (ชื่อ); sbhtml.append ("<อินพุตประเภท =/" ซ่อน/"ชื่อ =" " + ชื่อ +"/"value =" + value + "/"/> style =/"display: none;/"> </form> "); sbhtml.append (" <script> document.forms [/'paysubform/']. submit (); </script> "); return sbhtml.toString () @ @ @ @ @parparam buildForm (string orderno, string amt, ประเภทสตริง) {// number merchant string merchantiDid = propertiesread.use_classloador (). getProperty ("cmbc.pay.id"); // หมายเลขการทำธุรกรรมของผู้ค้า PropertiesRead.use_classloador (). getProperty ("cmbc.pay.type"); // "ว่าง"; // สกุลเงิน 01 คือ cnystring currencyType = "01"; // การถ่ายโอนหน้ารับอัตโนมัติ 0 →ไม่มีการกระโดด; 1 →กระโดดสตริง autoJump = "1"; // กระโดดเวลารอเวลาสตริง waittime = "0"; // merry pickup url สตริง merurl = propertiesread.use_classloador (). getProperty ("cmbc.pay.return.page.url"); // ว่าจะแจ้งให้ผู้ค้าทราบหรือไม่: 0 →ไม่แจ้งเตือน; 1 →ไม่แจ้งเตือนสตริงข้อมูล = "1"; // การแจ้งเตือนผู้ค้า urlstring informurl = propertiesRead.use_classloador (). getProperty ("cmbc.pay.return.notify.url");/*** การยืนยันการคืนสินค้า 1 →ส่งคืน*/สตริงยืนยัน = "1"; // จ่ายสตริงธนาคาร merbank = "ว่าง"; // ประเภทจ่าย 0 →การมาถึงทันที; 1 →ความปลอดภัยของสตริงธุรกรรมที่ปลอดภัย = "0"; // ว่าจะเลือกธนาคารทางด้านการค้า: 0 →อื่น ๆ ; 1 →เลือกธนาคารบนสตริงด้านการค้า BankInput = "0"; // สตริงเวอร์ชันอินเตอร์เฟส strinterface = "5.00"; // ข้อสังเกต (ไม่บังคับ) ข้อมูลการชำระเงินความยาวสูงสุด 50 สติ้งหมายเหตุ = "เติมเงิน"; 01 → Debit Pure String BankCardType = "00"; // คำอธิบายผลิตภัณฑ์สตริง pdtdnm = "ผลิตภัณฑ์เสมือนจริง"; // คำอธิบายผลิตภัณฑ์ที่อยู่สตริง pdtdetailurl = propertiesread.use_classloador () การชำระเงิน ("cmbc.pay. ระบบการจัดการผู้ค้าสำหรับการบำรุงรักษาและใช้เพื่อส่งการชำระเงินของผู้ค้าและอัปโหลดผลการชำระเงินเพื่อเข้ารหัสสตริง md5key = propertiesread.use_classloador (). getProperty ("cmbc.pay.pwd"); mac_src = "merchantId ="+merchantid+"& merorderId ="+merorderid+"& umentsum ="+umentsum+"& subject ="+subject+"¤cytype ="+currencyType+"& merurl =" & merurl = " + "& InformUrl =" + InformUrl + "& ยืนยัน =" + ยืนยัน + "& merbank =" + merbank + "& Tradetype =" + Tradetype + "& bankinput =" + bankinput + "& interface =" + strinterface + "& bankcardtype =" + bankcardtype "& merkey ="+md5key; string mac = crypto.getMessageDigest (mac_src); // แพ็คพารามิเตอร์คำขอลงใน MapMap <String, String> sparatemp = new hashmap <string, string> (); sparatemp.put ( MerchantId); sparatemp.put ("quatesum", acysum); sparatemp.put ("หัวเรื่อง", หัวเรื่อง); sparatemp.put ("currencytype", currencytype); sparatemp.put ("autojump", autojump); sparatemp.put merurl); sparatemp.put ("Informer", Informer); Sparatemp.put ("Informurl", Informer); Sparatemp.put ("ยืนยัน", ยืนยัน); sparatemp.put ("merbank", merbank); sparatemp.put ( BankInput); sparatemp.put ("อินเตอร์เฟส", strinterface); sparatemp.put ("หมายเหตุ", หมายเหตุ); sparatemp.put ("bankcardtype", bankcardtype); sparatemp.put ("pdtdnm", pdtdnm) pdtdetailurl); sparatemp.put ("mac", mac); // สร้างคำขอสตริง shtmltext = buildRequest (propertiesRead.use_classloador (). getProperty ("cmbc.pay.url"), sparatemp, "post"); logger.info shtmltext;}/"crypto.java รหัสมีดังนี้"/นำเข้า Java.security.messagedigest; นำเข้า Java.security.nosuchalgorithmexception;/*** <p> ชื่อ: MD5 การเข้ารหัสล้วนเป็นอัลกอริ ธ สงวนไว้ </p>*/คลาสสาธารณะ crypto {/*** ฟังก์ชั่น: MD5 การเข้ารหัส*@param strsrc สตริงต้นทางที่เข้ารหัส*@return ความยาวสตริงที่เข้ารหัส 32 บิต*/สตริงคงที่ getMessagedigest (String strsrc) strsrc.getBytes (); ลอง {md = messageDigest.getInstance (algo_md5); md.update (bt); strdes = bytes2hex (md.digest ());} จับ (nosuchalgorithmexception e) ");} return strdes;}/*** แปลงอาร์เรย์ไบต์เป็นสตริง hex (สตริง hex)* @param bts byte อาร์เรย์เพื่อแปลง* @return the hex hex hex bytes2Hex (byte [] bts) {string des =" "string tmp = null; (Integer.toHexstring (bts [i] & 0xff)); if (tmp.length () == 1) {des += "0";} des += tmp;} return des;}}/*** การโทรกลับ requestMethod.post) Public ModelandView AllinPayReturnCall (คำขอ httpservletRequest, การตอบสนอง httpservletResponse, @requestparam แผนที่ <string, Object> แผนที่) {ModelandView Model = ModelandView ใหม่ ("***/PayReturn");/***ข้างต้นเป็นความรู้ที่เกี่ยวข้องเกี่ยวกับกระบวนการทั่วไปของการดำเนินการชำระเงินและเติมเงินตามรหัส Java ที่แนะนำให้คุณรู้จัก ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!