一、網上支付分為兩種情況,一種方法是使用直接和銀行的支付接口,另外一種方法是使用第三方支付平台和銀行對接完成支付。
1.直接和銀行對接。
2.使用第三方支付平台
3.常見的第三方支付平台
二、使用易寶支付接口實現java網上支付功能(農業銀行)。
1.完整源代碼:https://github.com/kdyzm/day21_2_pay
2.實現過程的時序圖
3.技術要點
(1)使用GET請求的時候必須將全部參數都帶上,參數名稱參考開發者文檔中的請求參數列表
(2)使用PaymentUtil類實現加密,該類由易寶支付公司編寫
(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)單擊通知商戶按鈕,跳轉到的頁面是同一個。
三、總結
1、java實現網上支付功能並不難,幾乎沒有任何技術要點,關鍵就是太繁瑣,要學會讀開發者文檔。
2.重定向技術在這里非常重要,要根據時序圖理解重定向在這里的使用。