支付系统概述(一):支付模式概览
朋友说让讲一下支付系统建设。想了一下,除了介绍支付系统的架构和每个微服务单元的设计之前,可能要先聊一下支付系统整体的交易模式。只有了解了这些模式,以及其中的一些概念,后面聊到架构和设计大家才会有一个基础知识。
不管用什么模式,支付系统的最终目的就是完成用户资产和商户订单之间信息流和资金流的交互。根据用户资产,我们可以将支付分为:
内部资产支付
外部资产支付
根据商户的收单行为,大致可分为:
线上收单
线下收单
我们先说一下收单侧的区别。
线上收单比较简单,商户在收单机构下一个订单,收单机构将支付请求要么发给中间的网络组织由它路由,要么直接发给支付机构(PSP),whatever 最终这个支付请求都会到支付机构。支付机构完成和用户资产的一系列交互后,返回收单机构支付结果。这就完成了信息流的交互。后面再完成资金的清算,就完成了整个支付的过程,钱就从用户到了支付机构最终到了收单机构,然后收单机构再可以结算给商户。
线下收单和线上收单的区别,无非是这个下单过程是要支持线下的场景。线上收单机构创订单后,会有一个收银台的页面,用户显式的点击支付后完成对支付机构(网络)的请求。线下用户不可能实现这样的交互,所以需要有一个介质来完成这个下单的过程,一般有用信用卡、NFC、二维码等。这里就用二维码做例子。
二维码的线下支付方式,又分为正扫和反扫,正扫是用户扫商户的收单码,反扫是商户扫用户的钱包码。不管怎么扫,都建立了商家和用户(钱包)之间的关联。正扫有时候还会扫聚合码,这个场景无非就是和支付网络一样,多一次重定向的过程,这里不展开。
反扫比较简单。反扫在扫之前,在商户侧已经是下单的。反扫的过程其实就是唤起收银台的过程,后续的交互模式和线上收单没啥大的区别,参考后面的信用卡四方模式就很清楚。
正扫是有用户侧发起。用户的钱包扫码后,会根据码的前缀,发送请求给相应的收单机构(所以聚合码在这个场景下就可以完成一点接入多个收单机构的能力),相应的收单机构进行预下单后,用户输入金额点确定后,再次和收单机构交互完成正式下单和支付。
下面说一下支付的几种模式。
首先是内部资产支付。这个就是用户资产和收单机构是同一个主体。包括如下场景:
支付宝/微信钱包内部的支付,包括余额、花呗等。
在信用卡支付体系下,收单行和发卡行一致的特殊场景,onus 支付。
这种支付方式比较简单。收单系统完成下单后,唤起本主体的收银台进行用户的必要交互后,扣减用户相应的资产(其实就是一次核算行为),将用户资产转移到内部账户,后续再从内部账户结算给商户。
剩下来就是外部资产支付了。外部资产就是用户不属于本主体的资产,包括外部的钱包、非本行的信用卡/借记卡、其他银行的银行账户(含 VA)等等。
这种外部资产的支付,交互过程一般是本主体下单后,通过 OpenAPI 接口在对应的支付机构/网络/银行进行下单,对应的支付方进行内部资产的交换,将用户的资产转移到内部待清算账户,然后同步或异步返回给收单机构支付结果。后续,通过协议的约定,在一定的周期内完成资金的清算。
版权声明: 本文为 InfoQ 作者【agnostic】的原创文章。
原文链接:【http://xie.infoq.cn/article/2ecea217a9ff539231a280aa7】。文章转载请联系作者。
评论