支付系统整体架构详解

原文作者:凤凰牌老熊
从产品分类、模块功能和业务流程,了解支付产品服务的设计
支付产品模块是按照支付场景来为业务方提供支付服务 。这个模块一般位于支付网关之后,支付渠道之前 。它根据支付能力将不同的支付渠道封装成统一的接口,通过支付网关来对外提供服务 。所以,从微服务的角度,支付产品本身也是一个代理模式的微服务,它透过支付网关响应业务方请求,进行一些统一处理后,分发到不同的支付渠道去执行,最后将执行结果做处理后,通过支付网关再回传给业务方 。
支付产品在支付系统参考架构图中之位置,请看下图所示:

支付系统整体架构详解

文章插图
 
产品分类
在不同的公司由于接入渠道和应用的差异,对支付产品分类略有不同 。综合支付场景和流程,支付产品可以分为如下几类:
支付系统整体架构详解

文章插图
 
支付产品是由支付系统对支付渠道进行封装而对业务方提供的支付能力 。整体上来说,可以提供如下支付产品:
1. 快捷支付
用户在完成绑卡之后,在支付的时候,不需要再输入卡或者身份信息,仅需要输入支付密码就可以完成支付 。对于小额度的支付,甚至可以开通小额免密,直接完成支付 。这种支付方式不会打断用户的体验,是目前主要的在线支付方式 。一般快捷支付产品是通过封装银行或者第三方支付平台提供的快捷支付接口或者代付接口来实现的 。
2. 网银支付
用户在支付的时候,需要跳转到银行网银页面来完成支付 。在网银页面,需要输入用户的卡号和身份信息 。这种支付方式会中断用户当前的体验,一般仅用于PC Web上的支付 。网银支付是封装银行提供的网银支付来实现 。
3. 协议支付
协议支付也称代收或者代扣,代收指渠道授权商户可以从用户的银行账户中扣款,一般用于定期扣款,不用于日常消费 。比如水电煤气、有线电视费 。协议支付是通过封装银行、第三方支付提供的代扣或者快捷接口来实现 。
4. 平台支付
使用微信、支付宝等第三方支付平台来完成支付 。使用时,一般需要用户预先安装支付平台系统(手机上),注册并登录到第三方支付平台,并且已经在该平台上完成绑卡等操作 。由于微信、支付宝已经被大量使用,用户也产生对这些平台的信任,平台支付往往是电商公司的主要支付方式 。
5. 外卡支付
对于由海外支付的需求,还需要提供外卡支付支持 。国内不少支付渠道都能支持外卡支付,如支付宝全球购等 。直接对接Paypal,也是目前用的最多的外卡支付渠道 。关于外卡支付,以后会有专文介绍 。
6. 话费支付
对于有包月小额类型的支付,手机话费也是一个不错的选择 。目前也有一些平台可以支持话费支付,比如虹软、联动优势等 。
7. 虚币支付
不少公司会有自己的虚拟币,比如京豆、Q币等 。这些虚币也可以作为一种支付方式 。
8. 账户支付
也成为余额支付、零钱支付等 。指为用户建立本地账户,支持充值,之后可以使用这个账户来完成支付 。
9. 信用支付
如京东的白条,蚂蚁花呗等,指使用信用账户进行透支,类似信用卡支付 。
10. 代付
和代扣相反,代付是平台将钱打给用户 。
每一种支付方式的详细功能将在后续的各个章节中介绍 。这里先简要介绍支付产品模块的通用功能 。
模块功能
支出产品根据其支付能力,对外提供不同的功能 。整体上来说,一般支付产品需要提供如下接口:
支付系统整体架构详解

文章插图
 
1. 签约和解约
在快捷支付、代扣等产品中,用户在使用前,需要先完成签约 。签约可以在渠道侧进行,一般第三方支付采用这种方式,当电商需要接入时,让第三方给授权 。银行和银联的签约一般是在电商侧进行,电商侧负责收集用户的信息,调用银行和银联的接口进行签约 。签约后,后续的支付行为就使用签约号来进行,无需再输入个人信息 。和签约相对应,解约则是取消签约关系 。
2. 支付
支付是少不了的操作 。不同产品中支付行为不一样 。快捷支付是在电商服务器上发起,请求渠道进行支付;网银支付则是跳转到银行支付网关上进行; 而账户支付、虚币支付,则是在本地进行的 。


推荐阅读