支付系统架构设计 独家号 凤凰牌老熊 作者 @ 凤凰牌老熊原文 链接 接着重构的话题,这期来点干货,谈谈支付系统的架构设计
大部分公司,只要想赚钱,就得上支付系统,让用户或者客户有地方交钱
当然,公司发展的不同阶段,对支付系统的定位和架构也不同
整体上来说,我们可以把一个公司的支付系统发展分为三个阶段: 1
支付系统:支付作为一个(封闭)的、独立的应用系统,为各系统提供支付功能支持
一般来说,这个系统仅限于为公司内部的业务提供支付支持,并且和业务紧密耦合
支付服务:支付作为一个开发的系统,为公司内外部系统、各种业务提供支付服务
支付服务本身应该是和具体的业务解耦合的
支付平台:支付作为一个可扩展的平台, 公司内外部的用户可以在此基础上定制开发自己的服务
这个划分有点勉强
简单说,支付系统是仅供内部使用的, 支付服务是支持公司内外部来调用的,支付平台是可以在服务的基础上定制各种场景支持的
支付业务流程 区分两个概念:支付和交易
支付是交易的一部分
一个简单的交易过程包括:客户下订单,客户完成支付,商家接收订单,商家出货
这里仅考虑下订单的流程
从软件工程的角度, 我们首先需要明确下几个参与者
电商系统,指提供在线购物服务的系统
用户在这个系统中完成交易
支付系统,可以是电商系统的一个模块,或者是个独立的系统
这是本文的主角,用来完成支付过程
用户,在电商系统中败家的那位
如果使用银行卡做交易,那也被称为持卡人
用户使用银行卡交易时,发行这个银行卡的机构称为发卡行,或者发卡机构
商家也需要一张卡,就是大家在淘宝开网店的时候要登记的银行卡,最终需要把用户给的钱打到这张卡上
和发卡机构相对应的,大家听到最多的是收单机构
如支付宝,微信等第三方支付公司,介绍业务的时候总少不了互联网收单的工作
它们把用户订单收起来,找发卡行要