浅析支付系统的总体架构

支付的典型架构

每一个公司根据其业务和公司发展的不一样阶段,所设计的支付系统也会有所不一样。咱们先看看互联网公司的一些典型的支付系统架构。html

支付宝

先看看业内最强的支付宝系统,支付宝的支付系统总体架构设计数据库

这个总体架构上并无不同凡响之处。在模块划分上,这个图显示的是最顶层的划分,也没法告知更多细节。 但支付宝架构强点在两个方面,一个是帐务处理,分为内外两个子系统,外部子系统是单边帐,内部子系统走复式记帐。 很多支付平台是从这里获得启发来搞定的对帐系统。安全

另外一个亮点是柔性事务处理,利用消息机制来实现跨系统的事务处理,避免数据库锁致使的性能问题。架构

京东金融

来自京东支付平台整体架构设计 。运维

京东金融是在网银在线的基础上发展起来的。 网银在线的原班技术人员有很多来自易宝公司,在京东收购以后,又引入了支付宝的人才。于是从架构上受这两个公司的影响很大。机器学习

去哪儿

来自去哪儿公司分享的支付产品架构分布式

美团

来自美团的支付平台规划架构 。这是2015年的文档。 2016年美团才拿到支付牌照。 从这个架构,你们也能知道为何美团必须拿到支付牌照。工具

这些架构文档所有来自互联网公开资料。 对于架构是否真实反映实际系统状况,须要你们自行判断。 咱们以这些文档为基础,分析支付系统的应有的软件架构。性能

参考架构

通常来讲,支付系统典型架构会包含以下模块:学习

支付系统从架构上来讲,分为三层:

  1. 支撑层: 用来支持核心系统的基础软件包和基础设施, 包括运维监控系统、日志分析系统等。
  2. 核心层: 支付系统的核心模块,内部又分为两个部分: 支付核心模块以及支付服务模块。
  3. 产品层: 经过核心层提供的服务组合起来,对最终用户、商户、运营管理人员提供的系统。

支撑系统

支撑系统是一个公司提供给支付系统运行的基础设施。 主要包括以下子系统:

  1. 运维监控: 支付系统在下运行过程当中不可避免的会受到各类内部和外部的干扰,光纤被挖断、黑客攻击、数据库被误删、上线系统中有bug等等,运维人员必须在第一时间内对这些意外事件做出响应,又不可以一天24小时盯着。这就须要一个运维监控系统来协助完成。
  2. 日志分析: 日志是支付系通通计分析、运维监控的重要依据。公司须要提供基础设施来支持日志统一收集和分析。
  3. 短信平台: 短信在支付系统中有重要做用: 身份验证、安全登陆、找回密码、以及报警监控,都须要短信的支持。
  4. 安全机制: 安全是支付的生命线。 SSL、证书系统、防刷接口等,都是支付的必要设施。
  5. 统计报表: 支付数据的可视化展现,是公司进行决策的基础。

远程链接管理、分布式计算、消息机制、全文检索、文件传输、数据存储、机器学习等,都是构建大型系统所必须的基础软件,这里再也不一一详细介绍。

支付核心系统

支付核心系统指用户执行支付的核心流程,包括:

  1. 用户从支付应用启动支付流程。
  2. 支付应用根据应用和用户选择的支付工具来调用对应的支付产品来执行支付。
  3. 支付路由根据支付工具、渠道费率、接口稳定性等因素选择合适的支付渠道来落地支付。
  4. 支付渠道调用银行、第三方支付等渠道提供的接口来执行支付操做,最终落地资金转移。

支付服务系统

支持支付核心系统所提供的功能。服务系统又分为基础服务系统、资金系统、风控和信用系统。

基础服务系统提供支撑线上支付系统运行的基础业务功能:

  1. 客户信息管理:包括对用户、商户的实名身份、基本信息、协议的管理;
  2. 卡券管理: 对优惠券、代金券、折扣券的制做、发放、使用流程的管理;
  3. 支付通道管理: 通道接口、配置参数、费用、限额以及QOS的管理;
  4. 帐户和帐务系统: 管理帐户信息以及交易流水、记帐凭证等。这里的帐务通常指对接线上系统的帐务,采用单边帐的记帐方式。 内部帐记录在会计核算系统中。
  5. 订单系统: 通常订单系统能够独立于业务系统来实现的。这里的订单,主要指支付订单。

资金系统指围绕财务会计而产生的后台资金核实、调度和管理的系统,包括:

  1. 会计核算: 提供会计科目、内部帐务、试算平衡、日切、流水登记、核算和归档的功能。
  2. 资金管理: 管理公司在各个支付渠道的头寸,在余额不足时进行打款。 对第三方支付公司,还须要对备付金进行管理。
  3. 清算分润: 对于有分润需求的业务,还须要提供清分清算、对帐处理和计费分润功能。

风控系统是支付系统必备的基础功能,全部的支付行为必须作风险评估并采起对应的措施;信用系统是在风控基础上发展的高级功能,京东的白条,蚂蚁花呗等,都是成功的案例。

支付应用

支撑系统、核心系统和服务系统,在每一个公司的架构上应该是大同小异的,都是必不可少的模块。而支付应用是每一个公司根据本身的业务来构建的,各不相同。 总的来讲,能够按照使用对象分为针对最终用户的应用、针对商户的应用、针对运营人员的运营管理、BI和风控后台。

总结

这一章节简单描述支付系统的总体架构。后续咱们将以此为基础,分别介绍各个模块的设计。

相关文章
相关标签/搜索