启赟金融 CTO 马连浩:跨境支付系统架构

10年支付行业老兵

马连浩, EGO 上海分会会员、启赟金融的技术合伙人& CTO。

我在 2017 年加入启赟金融(以下简称“iPayLinks”),之前先后在理光中国、盛大网络、新浪支付和中国平安、利得基金等知名互联网和金融公司工作,先后负责盛付通、新浪支付和平安支付等第三方支付平台规划设计和技术管理,在我 12 年的工作经历中,有近10年在从事支付行业相关的工作,可以说是互联网支付行业的一名技术老兵。

iPayLinks 成立于 2015 年初,是一家致力于提供跨境支付收单服务以及由此衍生的金融服务和解决方案的金融科技公司,主要服务于出海的电商、航旅、娱乐、教育等国内中小企业。下面和大家分享我对支付行业的理解和当前公司在跨境支付方面的实践。

支付行业进入成熟期

基于中国宏观政策机会和时代背景, iPayLinks选择做跨境支付,在讲公司业务之前, 先和大家介绍一下国内的第三方支付行业的发展历史。中国第三方支付主要经历了四个阶段,目前处于成熟期。

启赟金融 CTO 马连浩:跨境支付系统架构_第1张图片

- 初创期:1999-2004

国内第三方支付从 1999 年开始,首信、环迅等第三方支付公司都是当年成立的。2004 年底支付宝成立标志着行业初创期结束。期间,第三方支付主要在做银行网关和一些便民增值业务,用户访问往往只能使用 IE 浏览器,支付体验很差。

- 发展期:2005-2011

2005 年之后,国内一系列支付平台建立起来,第三方支付在自己的优势领域不断尝试。这几年是第三方支付的黄金时期,监管部门对第三方支付的态度也变来变去,最终实施牌照制并在 2011 年 5 月发放第一批牌照。这个阶段最大的创新是支付宝发明快捷支付,成功率由原来的 60% 上下增长到快捷支付的 90% 以上,支付体验比原来好很多。

此时的支付平台架构模式称为账户支付模式,就是买卖双方必须在第三方支付平台注册会员、建立新账户并充值,资金流从用户银行卡划转到第三方支付公司的银行账户,即现在的备付金账户,用户消费时从虚拟账户进行扣除,并不涉及到实体资金的划转。这实际上也是对第三方支付鼻祖 PayPal 进行的模仿和微创新。

- 博弈期:2012-2016

在 2012 年到 2016 年的博弈期,支付公司跟监管方和传统金融的关系非常微妙。监管态度左右摇摆,最有代表性的就是叫停二维码支付——最终又放开,让二维码支付变成移动支付体系的有效补充, 也让中国的移动支付誉满全球。这个阶段最大的创新是 2013 年支付宝推出的余额宝。它将货币基金份额包装为账户余额进行支付,余额宝支付实际包含两个子交易: 货币基金份额赎回交易和余额支付交易,而余额支付交易流程与账户支付的处理流程是一致的。

在这个阶段,支付系统架构变成金融账户的支付模式,除了支付渠道、余额账户和清结算体系, T+0货基、理财等金融属性的业务产品也被包装到了支付产品体系。

- 成熟期:2017 以后

现在,国家政策逐渐明确,相关条例不断完善。网联成立之后,所有线上支付全部要借助网联,同时第三方支付市场份额趋于固化,领头羊就是支付宝、微信、银联三大巨头,小型支付公司要么转让要么待价而沽。

2017 年以后,原来一直在默默发展的跨境支付引起了大家注意,并开始布局海外,由于国内业务已经快到天花板,支付宝和微信支付都在积极进行海外布局,把中国领先的移动支付复制到全球。

以上就是我眼中的第三方支付发展历程。

iPayLinks主营业务

iPayLinks 的主营业务有三部分:外卡收单、海外本地化支付、云钱包SAAS服务。

外卡收单就是我们作为 Visa、MasterCard 等国外卡组织的代理,通过收单行帮他们将交易收集过来。主要支付流程是,用户在我们接入的商户应用(手机或者网站)中下单支付,iPayLinks作为第三方收单机构接受收单,调用我们合作方的收单行,收单行收到交易以后,传给卡组织,卡组织再发给发卡行。外卡收单比国内第三方支付的收单流程要复杂一些,中间多了收单行和卡组织两个交互节点。

启赟金融 CTO 马连浩:跨境支付系统架构_第2张图片

启赟金融 CTO 马连浩:跨境支付系统架构_第3张图片

第二块业务是海外本地化支付。本地化支付不是指国内的聚合支付,而是海外的本地化支付聚合。iPayLinks 已经接入将近两百家的海外本地化支付方式,包括美国Paypal、日本Konbini(便利店)和Linepay、英国Maestro和Solo、爱尔兰Laser、法国Carte Bleue、丹麦Dankort、西班牙4B、意大利CartaSi、德国Giropay和SofortBanking、东南亚Mol集团下Molpoint和Molpay、印尼Unipin、台湾Mycard、越南VTCPay、俄罗斯Yandex和Qiwi、巴西Boleto、中东OneCard和CashU等海外各个国家占比最高的支付方式。

启赟金融 CTO 马连浩:跨境支付系统架构_第4张图片

第三块业务是云钱包SAAS服务,帮助海外零售企业和便利店提供二维码支付和钱包服务,把国内成熟O2O移动支付的成功实践复制到国外。

业务架构和应用架构

启赟金融 CTO 马连浩:跨境支付系统架构_第5张图片

刚才提到了我们正在做的业务, 这些业务需要系统平台做支撑,从图中可以看到平台的五大模块:

  • 商户模块,包括虚拟账户、管理平台、多币种收银台、争议管理。
  • 资金通道模块,我们接入了国内发卡行、国外发卡行、国际卡组织、国内汇率行、国际汇率行,还有境内收单行、境外收单行以及汇率服务机构。
  • 业务模块,实际上就是业务解决方案,包括多币种账户托管、预付卡、资金收付、国际汇款等。
  • 金融模块。iPayLinks 基于基础支付基础服务搭建了跨境金融,外汇余额理财、海外消费信贷等增值服务。
  • 跨境核心清结算系统是最核心的模块,是支持多币种、多发卡行、多卡种清结算的基础,它是跨境支付服务输出的大脑。

上面讲的是业务架构,下面看一下应用架构。

启赟金融 CTO 马连浩:跨境支付系统架构_第6张图片

跨境支付与国内第三方支付在应用架构上有所区别, 比如汇兑损益核算在国内第三方支付是不需要的。iPayLinks跨境支付平台的应用架构主要分五层:

  • 第一层是接入层,包括开放 API、收银台、商务门户、钱包SAAS接入服务。
  • 第二层是业务平台,包括收单支付平台、供应链金融等,这也是我们的业务解决方案。
  • 第三层是交易核心,包括支持各种交易类型的支付引擎。
  • 第四层是基础服务层,包括账务核算模块、支付渠道模块、资金处理模块。
  • 第五层是为上层服务提供支撑的基础设施层, 该层主要是支撑上层业务的配置、调度、消息、缓存、存储、沟通等基础中间件和设施。

整体架构从三个维度进行梳理:部署架构、业务架构、系统架构。

启赟金融 CTO 马连浩:跨境支付系统架构_第7张图片

第一个是部署架构,从四个方面做改进,

  • 动静分离,静态文件和交易功能分离,提高收银台等前端功能的用户体验。
  • 内外网络分离,按不同的业务进行网络隔离,提高内部网络的安全性。
  • 功能分离,用户相关的业务系统的功能和银行机构监督功能进行网络分离。
  • DB读写分离,对热表热账户进行分区分表优化。

第二个是业务架构,也是四个方面,

  • 把业务的入口和出口进行分离,有效屏蔽外部依赖的变化。
  • 把运营职能进行分离,如风控、资金、商户等运营管理功能构建为独立可插拔的,保证运营平台灵活,同时降低测试工作量。
  • 抽取核心服务和支撑服务,如交易服务、汇率服务、认证服务、对账服务、渠道路由服务等基础服务进行抽象化,保证系统功能复用,提高新产品的研发效率。
  • 金融业务对资金和财务的准确性要求比较高,所以重新梳理了交易资金的对账体系、会计核算体系,有效降低业务差错率。

第三个就是系统架构,其实系统架构和业务架构相互依赖,

  • 以业务架构为基础,清晰定义5层服务。
  • 构建新技术规范,Java代码规范、数据库编写规范和SOP操作流程,同时抽取公共服务和组件作为内部开发组件,提高开发的标准化和代码编写效率。
  • 优化交易链路,减少同步处理,提高系统吞吐率,同时缩短响应耗时。
  • 根据业务要求,完善监控机制,从系统、网络等技术监控到业务监控到预警机制,进行一系列的修复和完善,保证及时准确发现问题,降低商户投诉率。
  • 针对说到的一些东西我特意整理了一下,有很多技术不是靠几句话能讲清楚,所以干脆找朋友录制了一些视频,很多问题其实答案很简单,但是背后的思考和逻辑不简单,要做到知其然还要知其所以然。如果想学习Java工程化、高性能及分布式、深入浅出。微服务、Spring,MyBatis,Netty源码分析的朋友可以加我的Java进阶群:318261748 群里有阿里大牛直播讲解技术,以及Java大型互联网技术的视频免费分享给大家。

你可能感兴趣的:(架构)