一 说明
所有的第三方支付框架都类似上图,可能会有区别,比如支付宝和taobao自己使用的都是自家的平台,所以商户网站可以访问到支付网关的信息,但是设计思想都如上图
1.用户在网站消费
以淘宝为例,在选择商品后进入以下页面:
此页面是商户网站的页面(taobao),还没有生成真正的订单信息,点击确认后在商户网站数据库记一条记录并发送请求到支付网关(支付宝).
2.商户网站向支付网关提交订单
以下页面由支付网关生成(支付宝):
银行列表信息是在支付网关的后台数据库中保存(或者配置),点击确认后在支付网关记录一笔订单信息,并将用户请求和订单信息一起加密后提交给选择银行的网站.
3.支付网关把客户请求转发到银行支付页面
接下来用户所访问的页面如下:
此时消费者已经与商户网站的后台数据库和支付网关的后台数据库打过交道了,但是都是透明的,消费者并不知道。
4.银行返回结果给客户(客户并不可见此页面)
之后如果支付成功,银行会给客户显示成功信息并发送响应信息
5.浏览器自动提交交易结果到商户网站
响应页自动提交到商户网站(taobao),用户并不知道此过程
6.商户网站自动向支付网关提交交易结果
商户网站自动提交到支付网关(支付宝),客户并不知道此过程.
7.支付网关更新状态,返回给商户网站
支付网关更新后台数据,找到相应订单更新交易状态.并返回给商户网站
8.商户网站更新状态,返回给客户交易结果页面
商户网站更新后台数据库,找到相应订单更新交易状态,并将结果返回给客户显示.
9.如银行需要后台通知(建设银行),则交易后发送结果给支付网关更新状态
有的银行会发送后台通知(比如建设银行),不但会给用户返回结果,还会给支付网关后台(支付宝)返回结果,支付网关根据结果更新
二 对帐
每日日切时(银行系统自定义的切换日期时间),支付网关会跟银行进行对帐,商户网站会跟支付网关进行对帐,银行相当于支付网关的支付网关,支付网关相当于银行的商户,商户也会与支付网关进行对帐以保证三方的数据一致.