JAVA写在线支付
第一种方式:
网站与各个银行的网银的对接
优点:免费
缺点:网站需要了解各个银行的网银接口
第二种方式:
与第三方支付公司进行对接 第三方支付公司与各个银行对接
优点:不需要了解各个网银的接口
缺点:收费 一般费用1% 如果网站交易金额比较大
不建议使用第三方支付公司的接口,影响到资金链
下面案例讲的是使用第三方支付公司 易宝
网站页面上点击确认订单 ----->重定向到第三方支付公司----->重定向网银系统----->重定向到第三方支付公司------->重定向通知网站支付成功------->支付成功
*这一系列的重定向会传递一系列数据,且要保证数据安全,(如何保证数据安全?)需要使用到电子签名
电子签名:
*为每个注册的用户提供一个账号
*提供一套加密的算法和一个密匙
*网站提交数据---->第三方支付公司------>
提交数据:付款账号 收款账号 那个银行 付款金额 订单编号。。。
使用加密的算法和密匙对提交的数据进行加密
会得到Hmac码
提交 付款账号 收款账号 那个银行 付款金额 订单编号。。。以及hmac码,提交到第三方支付公司
第三方支付公司:或得到提交的数据以及hmac码,使用相同的算法以及密匙进行对数据加密,加密后得到hmac码,比对这两个hmac码值 如果两个值一致,说明是正确的 数据时有效的 如果不一致 则说明是篡改的。
下面是一段支付选择银行的div
选择银行:
工商银行
中国银行
农业银行
交通银行
平安银行
建设银行
光大银行
招商银行
这个div会被包含在