Artikel ini membagikan kode spesifik untuk Java menggunakan Alipay untuk memindai kode untuk pembayaran, untuk referensi Anda, konten spesifik adalah sebagai berikut
Persiapan
Pertama, buka akun uji Sandbox Alipay, yang akan mencakup akun konsumen dan akun penerima pembayaran
Pindai kode QR untuk mengunduh aplikasi seluler
Konfigurasi Dasar
Paket JAR yang diperlukan
ALIPAYCONFIG
Paket com.alipay.config; impor java.io.filewriter; impor java.io.ioException; impor java.util.resourceBundle;/ * * *nama kelas: AlipayConfig *For For: COMPLASE BASIC *Detail: Setel Informasi yang Dikatasi Akun dan Kode Pengembalian *Tanggal Modifikasi: 2017-2 pengujian. Pedagang dapat menulis sesuai dengan kebutuhan situs web mereka sendiri dan sesuai dengan dokumen teknis, dan tidak perlu menggunakan kode ini. *Kode ini hanya untuk belajar dan meneliti antarmuka Alipay, dan hanya disediakan sebagai referensi. */Kelas Publik AlipayConfig {// ↓ enangan sopankan ptabat iman uman orang,abat orang orangamah00 angkel Harap konfigurasikan informasi dasar Anda di sini // ID aplikasi, appid Anda, dan akun pembayaran adalah akun alipay yang sesuai dengan string statis public app_id = "2016080403162340"; // Kunci Pribadi Pedagang, format PKCS8 Anda RSA2 Kunci Privat Publik Statis Statis Merchant_private_key = "miievaid2tulssmawg5+f4nzbexpnxi8nkqjpzeeaa =="; // Kunci Publik Alipay, lihat alamatnya: https://openhome.alipay.com/platform/keymanage.htm Kunci publik alipay yang sesuai di bawah appid. String statis public alipay_public_key = "miibijt26tltkar8s1erdwi25vibcmz7plmxvvumhf5tdbwfbmhus3qidaqab"; // Jalur halaman pemberitahuan asinkron server memerlukan jalur lengkap dalam format http: //, dan tidak dapat menambahkan parameter khusus seperti? Id = 123. Itu harus diakses secara normal oleh jaringan eksternal. String statis publik notify_url = "http: // localhost: 8080/alipay.trade.page.pay-java-UTF-8/notify_url.jsp"; // Page Jump Pemberitahuan Sinkron Halaman Path membutuhkan jalur lengkap format http: //. Parameter khusus seperti ID = 123 tidak dapat ditambahkan. Public Static String return_Url = "http: // localhost: 8080/uji/index/gomai"; // Metode Signature String Statis Publik Sign_Type = "RSA2"; // Format Pengkodean Karakter 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: //"; // ↑↑↑↑epatuas ASOOSIOSIOSISIKOIKitisostingitismati: Harap konfigurasikan informasi dasar Anda di sini/*** Tulis log untuk pengujian yang mudah (lihat persyaratan situs web, Anda juga dapat mengubah catatan menyimpan catatan dalam database)* @param Sword untuk menulis konten teks dalam log*/nol static void logresult (Sword string) {FileWriter Writer = Public static void; coba {writer = fileWriter baru (log_path + "alipay_log_" + system.currentTimeMillis () + ". txt"); writer.write (pedang); } catch (Exception e) {E.PrintStackTrace (); } akhirnya {if (writer! = null) {coba {writer.close (); } catch (ioException e) {e.printstacktrace (); }}}}}}Pengontrol
// Hasilkan halaman dengan kode QR yang dapat digunakan untuk memindai kode untuk membayar pembayaran @requestmapping (value = "alipay") public string alipay (httpservletResponse response, ModelMap Map, string chapterid, httpservletrequest, string widout_trade_no, string widtotal_amount, string widout_trade_no, string widtotal_amount, string widout_trade_no, string widtotal_amount, string widout_trade_no, string widtotal_amount, string widout_trade_no, string widtotal_amal_amount, string widout_trade_no, string widtotal_amoug AlipayapiException {// String a, string urlname, string couname ...+"& a ="+a+"& urlname ="+urlname+"& couname ="+couname // dapat diinisialisasi alipayclient alipayclient = new defaultalipayclient (aliponfig.gatePaycaycaycayclient. Alipayconfig.merchant_private_key, "json", alipayconfig.charset, alipayconfig.alipay_public_key, alipayconfig.sign_type); // Atur parameter permintaan AlipaytradepagepayRequest alipayRequest = baru alipaytradepagePayRequest (); alipayRequest.setReturnurl (alipayconfig.return_url+"? babid ="+babID); alipayRequest.setNotifyURl (alipayconfig.notify_url); // Bayar ID, string yang diperlukan out_trade_no = widout_trade_no; // Jumlah Bayar, String yang Diperlukan Total_amount = widtotal_amount; total_amount = urldecoder.decode (total_amount, "UTF-8"); // transcoding // nama pesanan, string yang diperlukan subjek = widsubject; subjek = urldecoder.decode (subjek, "UTF-8"); // deskripsi produk, bodi string nol = widbody; alipayRequest.setBizContent ("{/" out_trade_no/":/" + out_trade_no + "/", " +"/"Total_amount/":/" + Total_amount +"/"," + "/" Subjek/":/" + " +"/","/":" "/" timeout_express/":/" 1m/"," + "/" product_code/":/" fast_instant_trade_pay/"}"); // Minta Hasil String = AlipayClient.PageEexecute (AlipayRequest) .getBody (); response.setContentType ("Teks/html; charset = utf-8"); Printwriter out = response.getWriter (); out.println (hasil); kembali nol; }Bayar dengan sukses dan kembalikan halaman (return_url)
Jalur pengembalian setelah keberhasilan diambil, buka controller, lihat konfigurasi di alipayconfig untuk detailnya
// Klik untuk membeli dan menyimpan kursus di tabel pembelian @RequestMapping (value = "gomai") @ResponseBody Public ModelAndView Goumai (String ChapterID, httpservletrequest req, string a, string urlname, string couname, modelmap) {modelAndView mav = ModelSandView (); Peta <string, string> map1 = new HashMap <string, string> (); // sysusertab login_user = sysuserserver.getsysuserbyId (userid); Httpsession sesi = req.getSession (); Sysusertab login_user1 = (sysusertab) session.getAttribute ("login_user"); String userId = login_user1.getUserId (); // session.setAttribute ("login_user", login_user); map1.put ("userid", userid); map1.put ("babid", babID); int num = sysbuyservice.getBuyCount (mapp1); if (num == 0) {mapp1.put ("buyid", uuid.randomuuid (). tostring (). ganti ("-", "")); sysbuyservice.insertbuy (mapp1); } // Konten Kursus Permintaan // String fanhui = showfh (req, babid, urlname, couname, peta, a); mav.setViewName ("JSP/PAY/PAYSUCCESS"); mengembalikan mav; }Setelah pembayaran berhasil, halaman melompat ke halaman paysuccess.jsp.
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.