Mehrere Kernel -Funktionsdateien von Alipay:
Alipayfunction.java
Paket com.test.util.alipay; Import Java.io.FileWriter; importieren java.io.ioException; importieren java.net.malformeDurlexception; importieren java.net.url; Import Java.util.ArrayList; Import Java.util.Collections; import Java.util.hashMap; importieren java.util.list; import Java.util.map; import org.dom4j.document; import org.dom4j.documentException; import org.dom4j.node; import org.dom4j.io.saxreader; public class alipayfunction { / *** Funktion: Signaturergebnis generieren* @param sarray -Array, um signiert zu werden // Spline alle Elemente des Arrays in eine Zeichenfolge unter Verwendung des "&" -Cels "&" gemäß "Parameter = Parameterwert" Prestr = Prestr + Key; // Schließen Sie die Spleißstring direkt mit dem Security Check -Code -String mySign = md5encrypt.md5 (Prester) an; MySign zurückkehren; } / *** Funktion: Entfernen Sie die Nullwerte und Signaturparameter im Array* @param Sarray Signaturparametergruppe* @return die Nullwerte und die neue Signaturparametergruppe* / public static map parafilter (MAP SARRAY) {List Keys = New ArrayList (SARRAY.KEYSET (); Karte sarrayNew = new HashMap (); für (int i = 0; i <keys.size (); i ++) {String key = (string) keys.get (i); String value = (String) sarray.get (Schlüssel); if (value == null || value.equals ("") || key.equalSignoreCase ("sign") || key.equalSignoreCase ("sign_type")) {Fortsetzung; } SarrayNew.put (Schlüssel, Wert); } return sarrayNew; } / *** Funktion: Sortieren Sie alle Elemente des Arrays und speisen Sie sie in die Zeichenfolgen im "&" -Scharakter gemäß den Parametergruppen "Parameter = Parameterwert"* @Param Params nach Spleißen* / Public String, die sortiert werden müssen und teilgenommen werden müssen. Sammelns.sort (Schlüssel); String Prestr = ""; für (int i = 0; i <keys.size (); i ++) {String key = (string) keys.get (i); String value = (String) params.get (Schlüssel); if (i == keys.size () - 1) {// Beim Spleißen ist das letzte Zeichen nicht enthalten. } else {prestr = prestr + key + "=" + value + "&"; }} return Prestr; } / *** Funktion: Schreiben Sie Protokolle für einfache Tests (siehe Website -Anforderungen können Sie auch in der Datenbank Datenbank speichern). FileWriter ("d: // alipay_log" + system.currentTimemillis () + ".txt"); Writer.Write (Schwert); writer.close (); } catch (Ausnahme e) {e.printstacktrace (); }} / ** * Funktion: Rufen Sie zur Verhinderung von Phishing die Schnittstelle query_timestamp auf, um die Zeitstempelverarbeitungsfunktion zu erhalten query_timestamp (String -Partner) löscht die Fehlformedurlexception, documentException, ioException {String stRURL = "https://mapi.alipay.com/gateway.do?Service=Query_Timestamp&partner="+ Partner; StringBuffer buf1 = new StringBuffer (); SaxReader Reader = neuer Saxreader (); Document doc = reader.read (neue URL (STRURL) .OpenStream ()); LIST <Snode> nodelist = doc.selectnodes ("// alipay/*"); für (Knotenknoten: nodelist) {// Abfangen die Informationen, die nicht analysiert werden müssen, wenn (node.getName (). Equals ("is_success") && node.getText (). Equals ("t")) {// Bestimmen Sie, ob es eine erfolgreiche Marke -Liste gibt <Node> node> nodelist1 = doc. für (Node Node1: nodelist1) {buf1.append (node1.getText ()); }} return buf1.toString (); }}}Alipaynotify.java
Paket com.test.util.alipay; Import Java.io.BufferedReader; importieren java.io.inputStreamReader; importieren java.net.httpurlConnection; importieren java.net.url; import Java.util.map; import com.test.constants.alipayconfig; public class alipaynotify {/*** Funktion: Generieren von Signaturergebnissen basierend auf den zurückgegebenen Informationen String mySign = alipayfunction.buildmysign (sparanew, key); // Signaturergebnis return mySign; } /** * * Funktion: Remote Server ATN -Ergebnis erhalten, überprüfen Sie die Rückgabe -URL * @param Notify_id Benachrichtigungsprüfungs -ID * @return Server ATN -Ergebnis * Überprüfen Sie die Ergebnismenge: * Dieser Fehler tritt auf, wenn der Parameter des ungültigen Befehls falsch ist. Bitte überprüfen Sie, ob der Partner und der Schlüssel im Rückgabeprozess leer sind String partner = alipayconfig.Partner; String Sehrfy_url = ""; if (transport.equalSignoreCase ("https")) {sehrfy_url = "https://www.alipay.com/cooperate/gateway.do?service=notify_verify"; } else {sehrfy_url = "http://notify.alipay.com/trade/notify_query.do?"; } SYREFY_URL = SYREFY_URL + "& partner =" + partner + "¬ify_id =" + notify_id; String responTxt = checkUrl (sehrfy_url); Rückgabe ResponTxt; } /**** Funktion: Holen Sie sich das Remote -Server -ATN -Ergebnis* @param urlValue Geben Sie die URL -Pfadadresse an* @return Server ATN -Ergebnis* Überprüfungsergebnis Set:* Dieser Fehler tritt auf, wenn der ungültige Befehlsparameter falsch ist. Bitte überprüfen Sie, ob der Partner und der Schlüssel im Rückgabeprozess leer sind Versuchen Sie {url url = new URL (urlValue); HttpurlConnection urlConnection = (httpurlConnection) url .OpenConnection (); BufferedReader in = neuer BufferedReader (neuer InputStreamReader (urlConnection.getInputStream ())); inputline = in.readline (). toString (); } catch (Ausnahme e) {e.printstacktrace (); } return Inputline; }}AlipayService.java
Paket com.test.util.alipay; Import Java.util.ArrayList; import Java.util.hashMap; importieren java.util.list; import Java.util.map; public class alipayService { /** * Funktion: Konstruktformularübermittlung HTML * @param Partner Cooperative ID * @param seller_email Signing Alipay -Konto oder Verkäufer Alipay -Konto * @param return_url Die Seite, die nach der Zahlung springt, sollte verwendet werden, um mit HTTP zu beginnen. Benutzerdefinierte Parameter wie? ID = 123 dürfen während des Transaktionsprozesses nicht hinzugefügt werden. Benutzerdefinierte Parameter wie? ID = 123 dürfen nicht hinzugefügt werden. * @param show_url Die Anzeigeadresse des Website -Produkts, und benutzerdefinierte Parameter wie? ID = 123 dürfen nicht hinzugefügt werden. * @param out_trade_no Bitte übereinstimmen die eindeutige Bestellnummer im Bestellsystem Ihrer Website* @param Betreff Der Bestellname wird im "Produktnamen" im Alipay -Kassierer und in der Liste der "Produktnamen" im Transaktionsmanagement von Alipay angezeigt. * @param Körperbestellbeschreibung, Bestelldetails, Bestellnotizen, angezeigt in der "Produktbeschreibung" im Alipay -Kassierer* @param Total_fee Der Gesamtbestellbetrag wird in der "Gesamtzahl" im Alipay -Kassierer angezeigt. Cartoon (Cartoon); DirectPay (Balance); Bargeld (Internetzahlung) * @param defaultBank Standard-Online-Banking-Code, siehe Club.alipay.com/read.php?tid=8681379 * @param Encrypt_key Anti-Phishing Timestamp * @param exter_invoke_ip Die IP-Adresse des Käufers. Auf der Seite * @param buyer_email Standard -Käufer Alipay -Konto * @Param Royalty_Type -Verpflichtungstyp, der ein fester Wert ist: 10 und muss nicht geändert werden * @param Royalty_Parameters Engagement -Informationen, und das Set dynamisch erhalten Sie jedes Gewinnabfindungsbetrag, jede Gewinnbeschreibung für jede Gewinnbeschreibung für jede Transaktion auf der Grundlage der eigenen Situation. Es können höchstens 10 Zeichen eingerichtet werden. show_url, String out_trade_no, String subject, String body, String total_fee, String paymethod, String defaultbank, String anti_phishing_key, String exter_invoke_ip, String extra_common_param, String buyer_email, String royalty_type, String royalty_parameters, String input_charset, String key, String sign_type, String it_b_pay){ Map spara = new Hashmap (); spara.put ("service", "create_direct_pay_by_user"); spara.put ("payment_type", "1"); Spara.put ("Partner", Partner); spara.put ("Seller_email", Seller_email); spara.put ("return_url", return_url); spara.put ("notify_url", notify_url); spara.put ("_ input_charset", input_charset); spara.put ("show_url", show_url); spara.put ("out_trade_no", out_trade_no); Spara.put ("Subjekt", Subjekt); Spara.put ("Körper", Körper); Spara.put ("Total_fee", Total_fee); Spara.put ("PayMethod", PayMethod); spara.put ("defaultBank", defaultBank); spara.put ("anti_phishing_key", anti_phishing_key); spara.put ("exter_invoke_ip", exter_invoke_ip); spara.put ("extra_common_param", extra_common_param); spara.put ("Buyer_email", Buyer_email); spara.put ("Royalty_type", Royalty_Type); spara.put ("Royalty_Parameters", Royalty_Parameters); spara.put ("it_b_pay", it_b_pay); Karte sparanew = alipayfunction.Parafilter (spara); // Entfernen Sie die Nullwerte im Array- und Signaturparameter String mySign = alipayfunction.buildmysign (Sparanew, Schlüssel); // generieren Sie das Signaturergebnis StringBuffer sbhtml = new StringBuffer (); List Keys = New ArrayList (Sparanew.Keyset ()); String gateway = "https://www.alipay.com/cooperate/gateway.do?"; // Methode Pass erhalten // sbhtml.append ("<Formular id =/" alipaysubmit/"name =/" alipaysubmit/"action =/" " + gateway +" _input_charset = " + input_charset +"/"method =/" get/">"); // Post -Methode -Pass (Get and Post muss ausgewählt werden) sbhtml.append ("<Formular id =/" alipaysubmit/"name =/" alipaysubmit/"action =/" " + gateway +" _input_charset = " + input_charset +"/"method =/" post/"post/"> "); für (int i = 0; i <keys.size (); i ++) {String name = (string) keys.get (i); String value = (String) sparanew.get (Name); sbhtml.append ("<Eingabe type =/" Hidden/"name =/" " + name +"/"value =/" + value + "/" // ");} sbhtml.append (" <eingabe type =/"Hidden/" name =/"sign/" value =/" + mySign +"/"/"/"); type =/"Hidden/" name =/"sign_type/" value =/"" + sign_type + "/" // "); // Schaltfläche" Senden ", enthalten bitte nicht den Namen Attribut sbhtml.append (" <Eingabe type =/"sub:" value =/"AliPay -Bestätigungszahlung/"> </Form> "); sbHtml.Append ("<Script> document.forms ['alipaysubmit']. subled (); </script>");Md5encrypt.java
Paket com.test.util.alipay; importieren java.io.unsupportedenCodingException; Java.Security.Messagedigest importieren; Java.security.NoSuchalgorithmException; import com.test.constants.alipayconfig; /** * Funktion: Alipay MD5 verschlüsselt und verarbeitet Kerndateien und erfordert keine Änderung * Version: 3.1 * Änderungsdatum: 2010-11-01 * Beschreibung: * Der folgende Code ist nur ein Beispielcode für die Bequemlichkeit für Händlertests. Händler können es nach den Bedürfnissen ihrer eigenen Website und den technischen Dokumenten schreiben. Dieser Code ist nicht unbedingt erforderlich. * Dieser Code dient nur zum Lernen und Erforschen der Alipay -Schnittstelle, sondern liefert nur eine * */ öffentliche Klasse Md5encrypt {/ ** * Gebrauchte Ausgabe als hex */ private statische endgültige Zeichen. 'F'}; / *** Md5 -Verschlüsselung von Zeichenfolgen** @param text* PlainText** @return Ciphertext*/ public static String md5 (String -Text) {Messagedigest msgDigest = null; try {msgDigest = MessagedIGest.getInstance ("md5"); } catch (NoSuchalgorithmException e) {neue IllegalStateException werfen ("System unterstützt den MD5 -Algorithmus nicht."); } try {msgDigest.update (text.getBytes (alipayconfig.input_charset)); // Beachten Sie, dass das Ändern der Schnittstelle im angegebenen Codierungsformat} catch signiert ist (UnsupportedenCodingException e) {Wirf eine neue IllegalStateException ("System unterstützt Ihre CodingException nicht."); } byte [] bytes = msgDigest.Digest (); String md5str = new String (Encodehex (Bytes)); Return Md5str; } public static char [] codEhex (byte [] data) {int l = data.length; char [] out = new char [l << 1]; // Zwei Zeichen bilden den Hex -Wert. für (int i = 0, j = 0; i <l; i ++) {out [j ++] = digits [(0xf0 & data [i]) >>> 4]; out [j ++] = digits [0x0f & data [i]]; } kehre aus; }}AlipayConfig.java Hier finden Sie einige Einstellungen für Kontonummer, Schlüssel, Rückrufverbindungsadresse usw.
Paket com.test.constants; Import Java.util.Properties; import com.test.util.propertiesutil; public class alipayconfig {private statische alipayconfig alconfig = null; private alipayconfig () {} public static alipayConfig getInstance () {if (alconfig == null) {alconfig = new alipayconfig (); } return Alconfig; } // So erhalten Sie den Sicherheitsüberprüfungscode und die Partner -ID // 1. Besuchen Sie das Alipay Merchant Service Center (B.Alipay.com) und melden Sie sich dann mit Ihrem vertraglichen Alipay -Konto an. // 2. Zugriff auf "technische Dienste" → "Download Technology Integration Dokumente" (https://b.alipay.com/support/helperapply.htm?action=elpeIneInegation) // 3. In der "Self-Service-Integrationshilfe", klicken Sie auf "Self-Service-Integration", klicken Sie auf die ID-Abfrage "und" Sicherheitsverifizierung (Schlüssel) Query "/ ↓ 25 Personenwürfeleien App Antwort Appaindigung Mail wird Amern App App Appideamentgleichgleichgleichgleichgleichgleich Ziel! Ürchtungsfrei. ↓ 25 ↓ 25) ↓↓ Antworts Ade AN ANGEBNISZEIGEN ANTEGRIFTETE ANTEGELTETETE VON ANGEBENSCHAFTEN ANGEBETTETEN Partner = "2088601003079118"; public static String service = "create_direct_pay_by_user"; // Transaktionssicherheitsüberprüfungscode, 32-Bit-Zeichenfolge, die Zahlen und Buchstaben veröffentlichen, öffentliche statische String key = "zxcdvxgksaam2zjrmv5cv0p4jqesaioh"; // Melden Sie sich für das Alipay -Konto oder das Zahlungs -Alipay -Konto des Verkäufers an. // Konfigurationsdatei lesen // Notify_url Die Seite der Serverbenachrichtigung während der Transaktion muss den vollständigen Pfad im Format von http: // Format verwenden, und benutzerdefinierte Parameter wie z. // Die Seite, die nach der Zahlung springt, muss den vollständigen Pfad im Format von http: //. Und benutzerdefinierte Parameter wie? ID = 123 dürfen nicht hinzugefügt werden. Der Domänenname von return_url kann nicht als http: //localhost/js_jsp_utf8/return_url.jsp geschrieben werden, ansonsten ist die Ausführung return_url ungültig. // public static String return_url = "http: www.xxx.com/projectname/alipaytrade.action"; // Die Anzeigeadresse des Website -Produkts, benutzerdefinierte Parameter wie? ID = 123 dürfen nicht öffentlich statische String show_url = "http://www.alipay.com" hinzugefügt werden; // Der Name des Zahlungsempfängers, wie z. // ↑↑↑ppe ↑echenin, die ↑echenin, ↑↑echenin, die ↑echenin, die ↑↑echenin, die ↑echenin, ↑↑echenin, die ↑echenin, ↑↑echenin ↑↑↑ppe ↑echenin, ↑↑echenin, ↑↑echenin, die ↑↑echenin, String transport = "http"; }Hier ist ein einfacher Bewerbungsprozess:
Ich werde nicht darüber sprechen, was Sie von JSP anrufen, da dies nur an den Hintergrund übergeben wird, was der Preis und andere Parameter ist.
Hier finden Sie eine Beschreibung der Hintergrundverarbeitung:
PaymentAction.java
/ *** Alipay -Transaktionsbestellnummer erhalten* @return*/ public synchronisierte statische String getOrderNum () {Datum date = new Date (); DateFormat df = new SimpledateFormat ("yyyymmddhhmmssssss"); return df.format (Datum); } protected httpServletRequest getRequest () {return servletActionContext.getRequest (); } // Alipay Transaction Order Number String ordernum = getOrderNum (); // Die Gesamtmenge dieser Transaktion getRequest (). SetAttribute ("TotalMoney", "0,01"); // Die Bestellnummer dieser Transaktion getRequest (). SetAttribute ("out_trade_no", ordernum); // Produktname Beschreibung getRequest (). SetAttribute ("Betreff", "Produktname"); // Der Prozess des Speicherns dieser Auftragsinformationen in der Datenbank wird hier weggelassenalipay.jsp
<%@page import = "com.test.constants.alipayconfig"%> <%@page import = "com.test.util.alipay.utildate"%> <%@page import = "com.util * Datum: 2010-11-01 * Beschreibung: * Der folgende Code ist nur ein Beispielcode für die Bequemlichkeit des Händlertests. Händler können es nach den Anforderungen ihrer eigenen Website und den technischen Dokumenten schreiben, und es ist nicht erforderlich, diesen Code zu verwenden. *Dieser Code dient nur zum Lernen und Erforschen der Alipay -Schnittstelle und wird nur als Referenz bereitgestellt. *************************************** If you encounter problems during interface integration, you can go to the Merchant Service Center (https://b.alipay.com/support/helperApply.htm?action=consultationApply) to submit an application for integration assistance. Wir werden professionelle technische Ingenieure haben, die Sie kontaktieren, um das Problem zu lösen. Sie können auch zum Alipay-Forum (http://club.alipay.com/read-htm-tid-8681712.html) gehen, um relevante Lösungen zu finden. Die zu übergebenen Parameter dürfen entweder nicht leer sein oder sie erscheinen nicht im Array, im versteckten Kontrollen oder in URL -Links. ************************************************************ */ %> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-äquiv = "content-type" content = "text /html; charset = utf-8"> <title> test < /title> <link rel = "Shortcut icon" href = "favicon.ico"> <meta name = "keywords" content = " /> <meta name" type = "text/css"> .font_content {font-family: "客"; Schriftgröße: 14px; Farbe:#ff6600; } .font_title {font-family: "客"; Schriftgröße: 16px; Farbe:#ff0000; Schriftgewicht: fett; } table {border: 1px solid #ccccc; } </style> <script type = "text/javaScript"> var _gaq = _gaq || []; _gaq.push (['_ setAccount', 'ua-25469955-1']); _gaq.push (['_ TrackPageView']); (function () {var ga = document.createelement ('script'); ga.type = 'text/javaScript'; ga.aSync = true; ga.src = ('https:' == document.location.protocol? 'https: // ssl': http: //wwwwwwwwwwwww ' +. document.getElementsByTagName ('script') [0]; </script> </head> <% //request.setcharactercoding("UTF-8 "); // Informationen in alipyconfig.java konfigurieren (kann nicht geändert werden) String input_charset = alipayconfig.getInstance () input_charset; String sign_type = alipayconfig.getInstance (). Sign_type; String seller_email = alipayconfig.getInstance (). Seller_email; String partner = alipayconfig.getInstance (). Partner; String key = alipayconfig.getInstance (). Key; String show_url = alipayconfig.getInstance (). Show_url; String benachrichtigen_url = alipayconfig.getInstance (). Notify_url; String return_url = alipayconfig.getInstance (). Return_url; String it_b_pay = alipayconfig.getInstance (). It_b_pay; /////////////////// .////////////. /////////////////// .////////////. /////////////////// .////////////. /////////////// .///////////////// .//////////////// ./////////// ./////////. /////////////////// .////////////. /////////////// .///////////////// .//////////////// ./////////// ./////////. /////////////////// .////////////. /////////////// .///////////////// .//////////////// ./////////// ./////////. String -Subjekt = (String) request.getAttribute ("Subjekt"); // Bestellbeschreibung, Bestelldetails, Bestellnotizen werden in der "Produktbeschreibung" in der Alipay -Kassierer -String -Body = (String) Request.getAttribute ("Body") angezeigt. // Gesamtauftragsbetrag wird in der "Gesamtzahl" in der Alipay -Kassierer -String Total_fee = (String) request.getAttribute ("TotalMoney") angezeigt. // erweiterte Funktionsparameter - Standardzahlungsmethode // String pay_mode = request.getParameter ("pay_bank"); String paymentMethod = ""; // Standardzahlungsmethode sind vier Werte verfügbar: Bankpay (Online -Banking); Cartoon (Cartoon); DirectPay (Balance); Bargeld (Internetzahlung) String defaultBank = ""; // standardmäßig Online -Banking -Code finden Sie unter http://club.alipay.com/read.php?tid=8681379 /* if(pay_mode.equals("directPay ") {payMethod =" DirectPay "; } else {PayMethod = "Bankpay"; defaultBank = pay_mode; }*/// Erweiterte Funktionsparameter-Anti-Phishing // Wählen Sie sorgfältig aus, ob die Anti-Phishing-Funktion aktiviert werden soll. // Es wird empfohlen, Post zu verwenden, um Daten String Anti_Phishing_key = "" zu verwenden. // Anti-Phishing Timestamp String exter_invoke_ip = ""; // Erhalten Sie die IP-Adresse des Kunden, schlagen Sie vor: Schreiben Sie ein Programm, um die IP-Adresse des Kunden zu erhalten // zum Beispiel: // Anti-Phishing_key = alipayfunction.query_timestamp (Partner); // Anti-Phishing-Zeitstempelfunktion erhalten // exter_invoke_ip = "202.1.1.1"; // erweiterte Funktionsparameter - andere String extra_common_param = ""; // benutzerdefinierte Parameter können Inhalte speichern (mit Ausnahme von Sonderzeichen wie = und & & & & &) und werden nicht auf der Seite String buyer_email = "137672927" angezeigt. // Standard -Käufer Alipay -Konto String extend_param = ""; // erweiterte Funktionsparameter - Gewinn aufgeteilt (wenn Sie ihn verwenden möchten, weisen Sie bitte Werte gemäß dem vom Kommentar geforderten Format zu) String lizenz_type = ""; // Provisionstyp ist dieser Wert ein fester Wert: 10, keine String Royalty_parameters = ""; // Informationsabschluss, erhalten Sie dynamisch jedes aufgeteilte Zahlungskonto, jeden geteilten Betrag und jede geteilte Beschreibung jeder Transaktion basierend auf der eigenen Situation der Händlerwebsite. Sie können nur bis zu 10 Elemente einrichten // Die Summe jedes Aktienbetrags muss weniger als oder gleich Total_fee // Das Format der Provisionsinformationen sein, die festgelegt sind: E -Mail_1^Betrag 1^Bemerkung 1 | E -Mail_2^Betrag 2^Bemerkung 2 // für Beispiel: // Royalty_type = "10" // Royalty_parameters = "111@126.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.01^ 1|[email protected]^0.01^Remark 2 "// Der vor der Rückgabe von 1H SET vorgenommen // Fehler Beschreibung: Entschuldigung, der Händler hat nicht die benutzerdefinierte Zeitüberschreitungsberechtigte, um aktiviert zu werden. Bitte wenden Sie sich an Ihren Händler. // Fehlercode: self_timeout_not_support it_b_pay = ""; //Constructor, generate request URL String sHtmlText = AlipayService.BuildForm(partner,seller_email,return_url,notify_url,show_url,out_trade_no, subject,body,total_fee,paymethod,defaultbank,anti_phishing_key,exter_invoke_ip,extra_common_param,buyer_email, Royalty_Type, Royalty_Parameters, Input_Charset, Key, Sign_type, IT_B_PAY); %> <body> <table align="center" cellpadding="5" cellpacing="0"> <tr> <td align="center" colspan="2">Order confirmation</td> </tr> <tr> <td align="right">Order number: </td> <td align="left"><%=out_trade_no%></td> </tr> <tr> <td align="right">Total payment amount: </td> <td align="left"><%=total_fee%></td> </tr> <tr> <td align="center" colspan="2"><%=sHtmlText%></td> </tr> </table> </body> </html>Schnittstelle zum Alipay -Rückruf: alipaynotify.java
Paket com.test.action.Payment; import Java.util.date; importieren java.util.list; import com.test.action.base.baseaction; import com.test.dao.model.paymentcenter.orderForm; com.test.dao.model.paymentcenter.orderList; import com.test.dao.model.paymentcenter.userpurview; public class alipaynotify erweitert die baseaction {private statische endgültige long serialversionuid = 1l; private String buyer_email; privat langer Käufer_id; private Zeichenfolge exterface; private Zeichenfolge IS_SUCCESS; private Zeichenfolge notify_id; private Zeichenfolge notify_time; private Zeichenfolge notify_type; private Zeichenfolge out_trade_no; private String payment_type; private String seller_email; Privat langer Verkäufer; privates String -Betreff; privat float Total_fee; private String frack_no; private String frack_status; privates Zeichenfolgenzeichen; private String sign_type; private Bestellung von; //… Die Get and Set -Methoden werden weggelassen Hier……………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………………………………………………………………. von.settradestatus (1); von.settradeno (this.trade_no); von.SetNotifyTime (neuer Datum ()); orderFormService.UpdateoldModel (von); // List <orderList> orderlist = orderService. Für (Orderlist OL: OrderList) {// Der Logikcode für die Verarbeitung der Verarbeitung wird hier weggelassen ………………}} // Nach dem erfolgreichen Rückruf gibt der Erfolg in Alipay zurück und return Erfolg; } return "fehler"; }}Auf diese Weise wird Alipays Drittanbieter-Konto-Ankunftsschnittstelle implementiert.
Das obige ist die Java-Implementierung der Alipay-Sofortzahlungsfunktion von Alipay, die ich Ihnen vorgestellt habe. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!