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.重定向技术在这里很是重要,要根据时序图理解重定向在这里的使用。