跨行清算系统的实现原理

转自http://www.cnblogs.com/aigongsi/p/3439766.html

最近看了很多银联方面的清算系统的设计原理,对于跨行清算系统有了很大的了解,写这篇文章的目的是在于从一个程序员的角度去思考一个跨行清算系统的架构是如何实现的以及整个过程中我们有哪些思想是可以借鉴的。由于金融里面涉及到太多的专业名词,包括借贷,备付金,头寸,调拨等等,这里不会涉及到这些,取而代之的是以大家可以理解的概念去解释。

下面简单的介绍一下两种跨行清算系统的实现原理以及特点。一种跨清算系统是我们最熟悉的银联,还有一种是越来越流行的第三方支付系统,比较典型的是快钱。

首先来拿生活中的一个非常常见的例子来说明跨行清算的整个过程,这里面不涉及交易费等其他概念。

跨行取款流程

张三是工行的持卡人,他需要取现金,但是找不到工行的ATM机器,发现附近有建行的ATM机器,他只能去建行取款,整个过程就是跨行清算的过程,我们以这个场景为例,分析一下业务流程,具体交互流程见下面一张图。

工行持卡人张三在建行ATM机器取款100,ATM请求建行主机,由于是工行的卡,建行不识别,只能请求工行去处理,工行识别持卡人账户并扣款100,然后通知建行,建行则通知atm吐钱。

这里整个系统要解决两个问题:

1 建行如何与工行通信

2 建行和工行之间如何清算,如上图结果,工行欠建行100.

整个系统的分析基于以上两个问题,下面首先解决是通信问题

跨行通信的两种模式

我们先假设工行提供接口,只需要建行发送指约定格式的报文,即可于工行通信,这种相当于建行直接通过接口方式与工行通信。如果是这种方式,只能解决建行和工行的单向通信,如果工行和建行通信,则工行要发送建行指定的通信报文格式。可是大家想想,如果银行更多怎么办,下面是三家银行间的通信

当有三家银行的时候,通信链路就有3*2=6条,当银行越来越多的时候,这种点对点的通信变的越来越复杂,每新增一家银行,他要做之前银行都要做的很多重复性的劳动,这样的成本非常高,也不经济,那么必须出现一个网络,它能够接入所有的银行,新的银行只需要接入这个网络,就可以和其他所有的银行进行通信。

先把这个网络成为通信网络,这种通信网络有两种方式可以连接所有的银行

  • 1 这个通信网络定义标准接口,所有的银行都必须实现这个通信网络定义的api,新的银行如果想要接入这个通信网络,必须实现通信接口约定的协议。简称公共接口模式
  • 2 这个通信网络主动去连接所有的银行的接口,把所有银行的接口信息都接入里面,就像一个适配器,新的银行如果想要接入这个通信网络,这个通信网络必须主动联系银行,按照银行的接口协议实现通信,简称适配器模式。

下面一幅图演示了这两种模式的不同:

对于这两模式,主要博弈就在于谁强谁弱。显然第三方支付公司属于适配器模式,需要一家一家银行去接入,至于银联,个人认为应该是第一种模式,这种对于银联这种需要稳定的系统来说是最具有优势的。

跨行清算保证金模式

解决了通信问题,下面就看如何解决资金的清算问题。一种简单的方案就是工行在建行里面开设一个保证金账户,用这个账户去偿还在整个跨行交易中应付给建行的资金。

从上图来看,这种方案确实可行。只需要工行在建行里面放足额的保证金,就可以满足跨行的费用。但是这里面实际上存在非常多的问题,

  • 1 如果银行越来也多,每个银行都要在其他银行存钱,太不经济了
  • 2 保证金需要放多少资金?如果一直都没有发生跨行交易,工行就亏大发了
  • 3 如果保证金不够怎么办?交易失败还是记应收款?

对于第一个问题假设银行越来越多,会导致工行需要在其他每个银行里面都开设保证金账户(见下图),是一个很不经济的方案。

说明这个在其他银行存保证金的方案是不可行的,和之前通信的问题一样,是不是可以把所有的银行保证金账户单独管理起来,统一放置在一起,方便各个银行之间的清算。我们暂时把这个系统称之为保证金系统。

保证金系统

保证金就是方便各个银行之间的清算,需要单独由一个系统进行管理,解决了跨行之间保证金存放的问题。每个银行只需要在保证金系统中存点钱就可以了。保证金系统也有两种模式。先看看比较好理解的第一种模式:

在这种模式下,银行先把一部分钱存放在保证金系统里面,同时银行内部建立一个虚拟账户,记录存放了多少钱,主要是方便对账,万一这个保证金系统钱算错了怎么办。你可以想象一下,银行是很小气的,为啥愿意把钱存放到这保证金系统里面,这部分钱干啥不好,能够银行这么干的只有国家了,这个系统就是央行的备付金管理系统。每个新增的银行都要存一份钱在这里。

另外一种方案是倒过来思考,既然没有牛逼的央行作支撑,那可以在每个商业银行都建立一个账户,用这个账户负责和银行进行清算。每新增一家银行,就在那个银行里面开一个保证金账户。

这两种方式有本质的不同,一个是银行把资金的一部分转出到保证金,银行建立虚拟账户和保证金里面真实的资金映射。一个是保证金系统把资金转出到各个银行,自己内部建立一个虚拟账户和银行中真实的资金账户进行映射。这个间接的银行了后续的对账机制,这里先不叙述。

所有的第三方支付公司跨行清算的流程都是第二种方式,只有国家级清算公司(比如银联)是第一种方式,这是一种资源和权力上的不平等,不过是可以理解的。

清算系统

保证金系统解决了保证金存放的问题,接下来就是解决如何清算的问题。假设保证金转账是实时的,就要面对上面说的问题,保证金不够的情况下,跨行交易是成功还是失败。这是一个业务上问题,有很多种解决方案,我们暂不说。从技术上来讲,如果每一笔交易都要保证金实时记账,那么保证金系统的负载太大,事务如何保证等等一些列的问题。所以一个最简单的方案就是:一天结算一次。

每天由一个系统记录这些跨行交易信息,汇总出来,统一记账。这样一天只需要调用一次保证金系统即可。那么整个清算过程则是下面的流程:

  • 1 系统T日发生建行和工行的跨行交易100

  • 2 清算系统T+1日汇总T日工行和建行之间发生的交易明细数据,并且发这些数据发给建行和工行进行确认

  • 3 工行建行分别对明细对账确认之后,通知清算系统确认交易明细无误,清算系统开始清算,调用保证金支付系统转账。
  • 4 清算完成之后,工行和建行分别获取保证金系统的真实金额和自身系统内部的映射账户进行余额对账。

清算中心最主要干得事情就是统计谁欠谁多少钱,以及触发保证金系统的调拨操作。

对账流程

对账包括两个部分,一个是跨行交易明细的对账以及保证金余额的对账。

首先要思考的是:对账是谁发起的 ? 这个是了解对账的本质。

我们举生活中的一个例子,我们把钱投资到一个人,那个人负责公司的日常运作。你肯定会主动了解公司的账务,因为那个是你的钱。对账的发起人也是如此,对于银联的清算过程,对账的发起者是商业银行,因为你把钱放在保证金系统里面,这是你的钱,你需要去关心这个的,银联可不关心这个。

对于另外一种保证金系统,把钱放在各个银行里面了,那么对账的发起者就是这个保证金系统维护者了。目前普遍的第三方支付公司都是这个模式,所以他要找各个银行要结果明细进行对账,确认自己的资金安全无误。

以上就是一个简单的跨行清算系统的雏形,从一个就简单的例子入手,说明一个清算过程。目前银联的第三方支付公司的清算过程大致如此,但是实现细节远比这个复杂。但是一个基本的清算系统的本质模型大体上是不会变的。当然这个只是对于同币种的清算,不同币种或者虚拟货币的清算会涉及到汇率的问题,这些就很复杂,有机会在研究一下,后续在分享。

PS:以上很多名词都是自己的随意写的,里面很多专业名词这里不提及,有兴趣的可以自己去了解。

时间: 2024-12-25 07:14:37

跨行清算系统的实现原理的相关文章

电商交易背景知识合集第一季

郑昀编纂 基于网络资料 创建于2015/9/7 最后更新于2015/9/7 特别感谢知乎梁川.天顺等知乎网友的精彩答案 本文档适用人员:交易领域的产品研发人员 提纲: 银联 一些错综复杂的关系 银联是什么 银联商务是什么 快捷支付绕过银联了吗 能通过卡号判断是对公账户或对私账户吗 快捷支付 为什么要推快捷支付 POS POS签单上的各种号码 信用卡刷卡后都发生了什么 第三方支付公司 为什么需要有备付金 直联网关和间联网关 何谓银企直连 支付宝是怎么对账的 我们作为商户如何接入 预付费卡牌照与第三

转 中国的支付清算体系是怎么玩的?

[纯干货]中国的支付清算体系是怎么玩的? 原文链接 我一直对支付感兴趣.2015年,因为工作需要,接触过好多第三方支付公司,做过支付路由,也处理了很多支付异常情况.但是支付中的清算部分一直不太理解,不知道银联在联结各方的时候是如何发挥作用的.最近一次厦大校友聚会上来了不少银行IT的同事,趁机向民生和工行的同学请教之后,做了一些总结,供希望了解支付清算的朋友们参考. ----------这是正文的分割线---------- 中国的支付清算有两套体系 当你去ATM取钱时,用的是央行的CNAPS(中国

转: 电商交易中支付相关知识

from: http://www.cnblogs.com/zhengyun_ustc/p/paybg.html 评点: 实在是长见识, 全干货!!!谢谢原作者 郑昀编纂 基于网络资料 创建于2015/9/7 最后更新于2015/9/7 特别感谢知乎梁川.天顺等知乎网友的精彩答案 关键词:在线支付,POS,第三方支付,清算,银企直连,快捷支付,对公对私,支付宝,对账,App 本文档适用人员:交易领域的产品研发人员 提纲: 银联 一些错综复杂的关系 银联是什么 银联商务是什么 快捷支付绕过银联了吗

第二代支付系统及电票线上清算相关知识

二代支付系统 国家处理中心(NPC):NPC是人民银行连接支付系统所有城市节点和特许参与者的中枢节点,负责接收.转发各CCPC和接收.处理特许参与者的支付指令,以及资金清算的一组硬件和软件系统的总称.参加支付系统的直接参与者必须在人民银行国家处理中心开设清算账户. 城市处理中心(CCPC):CCPC是人民银行支付系统的城市节点,连接NPC和各直接参与者,负责在NPC和直接参与者之间接收和转发支付指令的一组硬件和软件系统的总称. 人民银行二代支付系统  CNAPS(China National A

加强顶层设计 完善基础设施 推动支付清算服务市场健康有序发展

竣付通-中国最专业的在线支付平台,支持充值卡,游戏点卡,网银等支付,让你随时随地享受在线支付的快乐!详细请加Q:2990968116 随着现代电子支付的兴起,资金转移打破了时间和空间的限制,改变了金融形态和经济生活.与此同时,支付组织不断丰富,新兴支付不断创新,支付已经逐步形成一个广泛和复杂的产业体系.中国人民银行的数据显示,截至 2014 年年末,竣付通全国开立的人民币银行结算账户达到 65亿多户,较上年同期增长15.4%;2014年,全国共办理非现金支付业务627.52亿笔,金额达到1817

互联网金融系列-支付清算体系介绍-上

一,支付清算体系的简介 支付清算体系是一个国家的金融基础设施,或说公共服务.我国由央行主管此事,目前大体维持"结算-清算"二级制的支付体系.通俗地讲,银行与商户.消费者之间为结算关系,而银行之间构成清算关系,两个层次交易完成后,支付环节才算终了.清算,其实就是因跨行交易而产生的银行间债务债权进行定期净轧(比如每日),以结清因跨行交易产生的债务债权.清算更为底层,是一个平台,由央行主导建设,一般个人用户不会直接接触清算系统.结算则是前端,由银行.非金支付公司等向客户提供服务,也就是所谓的

快速申请第三方微信支付的办法充值对接口

一.第三方支付对网上银行业务发展的影响 第一.第三方支付的发展对银行网上银行业务带来的挑战 (一)银行中间业务收入受到影响 现如今,银行贷款业务的利差正在不断的减小,而在银行的盈利来源当中,中间业务的收入则变得愈加重要.但是,第三方支付业务则由于独特的交易担保功能以及更低的价格受到了消费者的青睐,在互联网支付领域当中占据了优势的地位,使得网上银行的发展空间受到了挤压.除此之外,用户在对第三方支付的账户进行注册之后,不需要利用对网上银行的注册就能够对大部分的支付需求进行实现,这就使得第三方支付对网

黄金价格的变化及其经济学原理分析

目录 1.黄金价格的变化 1.1 黄金价格的概念 1.2国际市场金价的变化 1.3中国市场的黄金价格的变化 2. 黄金的历史演变和属性演变 2.1金本位的确立 2.2 布雷顿森林体系的建立与崩溃 3.黄金的属性 3.1财富属性 3.2 货币属性 3.3商品属性 3.4 投资品属性 4.黄金的定价机制及其对黄金价格的影响 4.1伦敦黄金市场的定价机制 4.2苏黎士黄金市场的定价机制 4.3纽约黄金市场的定价机制 4.4香港金银业贸易场的定价机制 4.5上海黄金交易所定价模式 5. 黄金价格及其影响

HBase笔记:对HBase原理的简单理解

早些时候学习hadoop的技术,我一直对里面两项技术倍感困惑,一个是zookeeper,一个就是Hbase了.现在有机会专职做大数据相关的项目,终于看到了HBase实战的项目,也因此有机会搞懂Hbase原理. 首先来点实在的东西,假如我们已经在服务器上部署好了Hbase应用,作为客户端或者说的具体点,本地开发环境如何编写程序和服务端的Hbase进行交互了? 下面我将展示这些,首先看工程的结构图,如下图所示: 接下来我们将hbase应用下lib文件夹里所有jar包都导入到工程lib目录下,还要把c