1、網上支付分爲兩種狀況,一種方法是使用直接和銀行的支付接口,另一種方法是使用第三方支付平臺和銀行對接完成支付。java
1.直接和銀行對接。git
2.使用第三方支付平臺github
3.常見的第三方支付平臺瀏覽器
2、使用易寶支付接口實現java網上支付功能(農業銀行)。測試
1.完整源代碼:https://github.com/kdyzm/day21_2_pay加密
2.實現過程的時序圖url
3.技術要點spa
(1)使用GET請求的時候必須將所有參數都帶上,參數名稱參考開發者文檔中的請求參數列表code
(2)使用PaymentUtil類實現加密,該類由易寶支付公司編寫blog
(3)支付成功以後通知商戶按鈕指向的url在本地,即http://localhost:8080/backServlet(localhost只在本地有意義),爲何可以成功返回這裏,原理見上面流程圖。關鍵點:重定向技術解決了這一問題。
4.須要的幾點信息。
(1)商戶帳號:p1_MerId=10001126856
(2)商戶的keyVaue:keyValue=69cl522AV6q613Ii4W6u8K6XuW8vM1N6bFgyv769220IuYe9u37N4y7rI4Pl
(3)PaymentUtil類。
(4)注意:該商戶帳號是傳智播客某老師的帳號,在進行測試的時候會實際打錢過去,因此在選擇支付數額的時候千萬要謹慎!!!
5.支付過程:
(1)填寫訂單信息
(2)單擊支付按鈕以後重定向到農業銀行支付界面(若是網速慢點可以看到易寶支付處理的過程)
(3)我進行的是K碼支付
(4)填寫相應的信息,進行身份驗證以後(短信),單擊肯定按鈕(谷歌瀏覽器不支持後續操做,我換了IE瀏覽器)
(5)支付成功,自動跳轉到支付成功頁面
(6)單擊通知商戶按鈕,跳轉到的頁面是同一個。
3、總結
一、java實現網上支付功能並不難,幾乎沒有任何技術要點,關鍵就是太繁瑣,要學會讀開發者文檔。
2.重定向技術在這裏很是重要,要根據時序圖理解重定向在這裏的使用。