Dieser Artikel teilt den spezifischen Code für Java mithilfe von Alipay zum Scannen des Codes für die Zahlung. Für Ihre Referenz ist der spezifische Inhalt wie folgt lautet
Vorbereitung
Öffnen Sie zunächst das Alipay Sandbox -Testkonto, das Verbraucherkonten und Zahlungsempfänger -Konten umfasst
Scannen Sie den QR -Code, um die mobile App herunterzuladen
Grundkonfiguration
Erforderliches JAR -Paket
AlipayConfig
Paket com.alipay.config; import java.io.filewriter; import java.io.ioxception; import java.util.resourcebundle;/ * * *Klasse Name: AlipayConfig *Funktion: Basiskonfigurationsklasse *Details: Set Account-related Information und Rückgabepathon. Händler können nach den Anforderungen ihrer eigenen Website und nach 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. */public class alipayconfig {// ↓ Apfig ↓ App ALIPAYCONfig. Konfigurieren Sie Ihre grundlegenden Informationen hier // Anwendungs -ID, Ihr Anhang und das Zahlungskonto ist das entsprechende Alipay -Konto public static String app_id = "2016080403162340"; // Merchant Private Key, Ihr PKCS8 -Format RSA2 Private Key Public Static String merchant_private_key = "miievaid2tulsSmawg5+f4nzbexpnxi8nkqjpzeaa =="; // Alipay Public Key, anzeigen Sie die Adresse: https://openhome.alipay.com/platform/keymanage.htm Der entsprechende Alipay Public Key unter der Anhschnahme. public static string alipay_public_key = "miibijt26tltkar8s1erdwi25vibcmz7plmxvumhf5tdbwfbmhus3qidaqab"; // Der synchrone Benachrichtigungs -Seitenpfad von Server erfordert den vollständigen Pfad im Format von http: // und kann keine benutzerdefinierten Parameter wie? ID = 123 hinzufügen. Es muss normalerweise vom externen Netzwerk zugegriffen werden. public static String benachrichtigen_url = "http: // localhost: 8080/alipay.trade.page.pay-java-utf-8/notify_url.jsp"; // Page Jump Synchronous Benachrichtigungspfad erfordert den vollständigen Pfad von http: // Format. Benutzerdefinierte Parameter wie ID = 123 können nicht hinzugefügt werden. Public static String return_url = "http: // localhost: 8080/prüfung/index/Goummai"; // Signaturmethode public static String sign_type = "rsa2"; // Charakter-Codierungsformat Public static String charset = "utf-8"; // Alipay Gateway Public static String gatewayurl = "https://openapi.alipaydev.com/gateway.do"; // Alipay Gateway Public static String log_path = "e: //"; // ↑↑↑↑echenes Eigentum konfigurieren Sie Ihre grundlegenden Informationen hier/*** Schreiben Sie Protokolle für einfache Tests (siehe Website -Anforderungen können Sie auch in der Datenbank speichern). try {writer = new FileWriter (log_path + "alipay_log_" + system.currentTimemillis () + ". Txt"); Writer.Write (Schwert); } catch (Ausnahme e) {e.printstacktrace (); } endlich {if (writer! = null) {try {writer.close (); } catch (ioException e) {e.printstacktrace (); }}}}}}Regler
// Generieren Sie eine Seite mit einem QR -Code, mit dem der Code für die Zahlung @RequestMapping (value = "alipay") public String alipay (httpServletResponse -Antwort, modelmap map, String -Kapitelkapitel, httpServletRequest -Anforderung, String -Widout_Trade_No, String Widtotal_Amount, String -WidSubject, String -Widout_No, String Widtotal_Amount, String -WidSubject, String -Widtotal_Amount, String -Widsubject, String -Widtotal_Amount, String, Sting, Sting, Sting, und Alipayapiexception {// String A, String urlName, String Couname ...+"& a ="+a+"& urlname ="+urlname+"& carname ="+carname // Initialisierte alipayclient alipayclient alipayclient = new Defaultalipayclient (alipayconfig.g.Gewaycr. Alipayconfig.merchant_private_key, "json", alipayconfig.charset, alipayconfig.alipay_public_key, alipayconfig.sign_type); // Setzen Sie den Anforderungsparameter alipaytradepagepayRequest alipayRequest = new alipaytradepagepayRequest (); alipayRequest.setReturnurl (alipayconfig.return_url+"? capelid ="+chapterId); alipayRequest.setNotifyUrl (alipayconfig.notify_url); // Pay -ID, erforderliche Zeichenfolge out_trade_no = widout_trade_no; // Betrag bezahlen, erforderliche Zeichenfolge Total_amount = widtotal_amount; Total_amount = urdecoder.decode (Total_Amount, "UTF-8"); // Transcodierung // Bestellname, erforderliche String -Betreff = WidSubject; Subjekt = urdecoder.decode (Subjekt, "UTF-8"); // Produktbeschreibung, Null String body = widbody; alipayRequest.setBizContent("{/"out_trade_no/":/"+ out_trade_no +"/"," + "/"total_amount/":/"+ total_amount +"/"," + "/"subject/":/"+ subject +"/"," + "/"body/":/"+ body +"/"," + "/" timeout_express/":/" 1m/"," + "/" product_code/":/" fast_instant_trade_pay/"}"); // Anfrage string result = alipayclient.pageExecute (alipayRequest) .getBody (); Antwort.SetContentType ("text/html; charSet = utf-8"); Printwriter out = response.getWriter (); out.println (Ergebnis); null zurückkehren; }Bezahlen Sie erfolgreich und senden Sie die Seite zurück (return_url)
Der Rückweg nach dem Erfolg ist aufgenommen, wechseln Sie zu Controller, finden Sie in der Konfiguration in AlipayConfig Details
// Klicken Sie, um den Kurs in der Kauftabelle zu kaufen und zu speichern. Karte <string, string> map1 = new HashMap <String, String> (); // sysusertab login_user = sysuserService.getSysUSerById (userId); HttpSession Session = req.getSession (); SYSUSERTAB LOGIN_USER1 = (SYSUSERTAB) Session.getAttribute ("login_user"); String userID = login_user1.getUerID (); // Session.SetAttribute ("login_user", login_user); map1.put ("userId", userId); map1.put ("KapitelID", KapitelID); int num = sysbuyService.getBuyCount (mapp1); if (num == 0) {mapp1.put ("buyid", uUid.randomuuid (). toString (). Ersetzen ("-", ""); sysbuyService.insertBuy (mapp1); } // Kursinhalte abfragen // String fanHui = showfh (req, chapterId, urlname, ratern, map, a); mav.setViewName ("jsp/pay/paysuccess"); MAV zurückgeben; }Nachdem die Zahlung erfolgreich ist, springt die Seite zur Seite mit Paysuccess.jsp.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.