CNAPS即中国现代化支付系统,目前已经升级到第二代,简称CNAPS2,它是由很多子系统组成的系统集合,也是中国支付清算的核心和基石。本文作者对CNAPS2支付系统的核心组成部分进行了分析,一起来看一下吧。
中国的支付行业在全球范围内是数一数二的,具有发达水平和繁荣程度。中国拥有世界上最大的银行卡组织(银联),世界上交易量最大的网络零售支付清算体(网联),以及世界前两大电子钱包公司(支付宝和微信支付)。
这个国家庞大的支付体系运转依赖于现代化的支付清算系统,而这个系统服役时间不到20年。这就好比一个平台刚上线不久就要进行双十一大促销,而且每天都是双十一,可见其规模之大。
CNAPS是China National Advanced Payment System的缩写,即“中国现代化支付系统”。目前,CNAPS已经升级到第二代,简称为CNAPS2。需要说明的是,CNAPS2并不是指某一个单一的系统,而是由很多子系统组成的系统集合,是一个统称。CNAPS2是中国支付清算的核心和基石,由中国人民银行清算总中心开发和运营,其结构如下图所示:
在中国,除了CNAPS2以外,各个领域还有许多其他机构开发和运营的支付清算系统。比如,在银行卡领域,有银联;在非银领域,有网联;在外汇领域,有境内外汇支付系统;在国债领域,有中央债权系统等等。虽然这些系统中来来回回倒腾着的都只是清算的数据信息,但要真正实现资金的流转,仍然需要通过CNAPS2来完成。
大家都知道,一笔资金发生转移,缺少不了两个必要条件:信息流、资金流。而CNAPS2就是处理的“资金流”。
在金融机构清算账户之间进行的真正资金转移发生在CNAPS2中,但其他清算系统又是如何通知CNAPS2要动账的呢?换句话说,他们是如何实现“信息流”与CNAPS2打通的呢?答案是它们使用了一个名为PMTS(Payment Message Transmission System)的通讯系统。
中国的支付清算体系在物理结构上设置了两级处理中心:国家处理中心NPC(National Processing Center)和城市处理中心CCPC(City Clearing Processing Center)。全国共有32个CCPC,除深圳以外,其他CCPC都在省会城市。NPC通过PMTS与各个CCPC相连,核心的支付业务处理在NPC中完成,而CCPC则主要负责报文转发。
参与者可以直接接入NPC,也可以通过CCPC间接接入NPC。例如,中国银联作为特许参与者可以直接连接到NPC,而商业银行或非银支付机构则通过CCPC进行小额支付系统接入。
支付清算的核心就只有资金流和信息流。我们只需要搞清楚这两个东西怎么运转的,把这两个核心的点搞清楚了,中国支付清算体系是怎么运作的就好理解了。下面介绍一下 CNAPS2 的两个核心系统。
一、清算账户管理系统(SAPS)
SAPS是 Settlement Account Processing System的缩写,也就是清算账户管理系统。顾名思义,所有金融机构的清算账户都是在这个系统中维护的,资金的转移也是在这个系统中发生的。
很多小伙伴们通常了解中国支付清算体系都是从大、小额系统开始的,但大小额系统其实并不负责真正的资金移动,他们只是支付清算的“业务系统”,真正让资金移动的是大小额系统背后的SAPS。
在SAPS中,账户被分成了以下几类:
- 一般清算账户:即政策性银行、商业银行以及城乡信用社在人行开设的准备金存款账户;
- 特许清算账户:人行特许的参与者开设的专门用于办理人民币资金结算的存款账户,比如银联的账户;
- 联行类账户:人行会计营业部门、国库部门开设的账户,主要用在大小额联行类科目下;
- 汇总平衡类账户:这是一个特殊的账户,人民银行会计营业部门、国库部门才有这类账户。
每一个账户,都有账号、户名、余额、类型(存款类、联行类、汇总平衡类)、借贷方向、状态(待开户、开户、销户、待销户、借记控制)、最低余额、日间透支限额、质押融资配置等属性。
SAPS主要功能大致为:
1)清算账户管理、簿记、系统风险管理功能
- 账户开户、销户等;
- 清算队列管理;
- 查询查复服务;
- 债券自动质押回购管理;
- 日间透支控制;
- 日间透支计息;
- 清算账户控制;
- 清算账户圈存;
- 资金池管理;
- 日终自动拆借管理;
- 资金清算的账务处理;
- 清算账户的监视查询;
- 头寸预测查询;
- 清算窗口管理;
- 日终、年终处理;
- 对账及下载。
2)特许、专用账户管理
- 账户开户、销户等;
- 账务处理;
- 记账信息的发送;
- 信息查询;
- 信息核对。
3)净借记限额管理
- 净借记限额的设置、管理;
- 对付款清算行发起小额支付业务、网银支付业务进行净借记限额检查;
- 对排队业务进行多边撮合。
4)央行单边业务、同城票据交换轧差净额
- 业务的接收、发送;
- 业务识别。
这些功能看起来很费力,也很难理解。让我们举一个具体的例子,当大额支付系统向SAPS发送一笔大额转账请求(例如普通的贷记业务)时,SAPS将会执行以下操作:
检查发起清算行的清算账户可用头寸是否足以支付,其中可用头寸等于清算账户余额减去圈存资金和余额最低控制金额。这里所说的圈存资金是指被临时冻结的资金,例如证券交易时需要先冻结一部分资金以便进行证券的交割,因此这部分圈存资金不能参与其他清算。
如果可用头寸充足,则SAPS将立即对收付双方的清算账户逐笔记账(具体的会计分录略过),然后将处理结果返回给大额支付系统;
如果可用头寸不足,则SAPS将支付请求放入队列并等待处理。对于不同的支付请求,排队的优先级不同,排队优先级从高到低如下:
- 错账冲正
- 特急大额支付(救灾战备款)
- 日间透支利息和支付业务收费
- 同城票据交换轧差净额
- 小额借方轧差净额和网银借方轧差净额的清算
- 单边业务
- 紧急大额支付
- 普通大额支付和即时转账
如何处理队列中的支付请求?这就涉及到 SAPS 的风险和流动性管理,从队列中移出的过程称为“队列解救”,以下有几种方法可用:
1)大额清算排队撮合机制
该方法仅在日间交易时不启用,在大额支付系统当天营业结束后、下一次清算窗口开启前才启用。它需要队列中至少两个支付指令才能执行撮合操作。撮合的过程是净额轧差,如果轧差后余额仍不足以支付,则无法解救,只能打回。
2)自动质押融资
首先在系统中配置规则(例如,触发起点金额、最高融资金额、单笔最高融资金额、成员行最高融资金额、利率、手动或自动等)。当银行日间流动性不足时,根据规则自动或手动触发向人行质押债权以补足流动性(该过程还涉及与中央债券系统的交互)。
3)日间透支
人行会根据参与者的信誉授予一个日间的透支额度,可以在该额度内部分业务上透支,例如大小额、网银。
4)资金池管理
银行在央行开设的清算账户可能不止一个,以分行为单位可能会有多个账户。如果某个分行的头寸不足,可以自动地从其他分行的清算账户中调集流动性来解决问题。资金池管理原则非常复杂,需要遵循多种原则和规则,就不做展开介绍了。
5)日终自动拆借
参与者之间可以事先签订拆借合同,并在系统中预先配置好规则。当协议一方的清算账户余额不足以完成支付时,系统将自动从另一方的清算账户拆入资金,以完成排队业务的资金清算。这通常在清算窗口预关闭时触发。
至此,我们已经介绍了SAPS的功能,包括资金转移逻辑、排队机制和流动性管理等。SAPS的细节非常复杂,这里只能简单的对它做一个大致的介绍。SAPS 是一个被动系统,必须通过支付应用系统(例如大额、小额和网银)来触发它才能运作。一旦启动,就意味着资金正在金融机构之间进行转移。
二、支付报文传输平台(PMTS)
在第一代支付系统中,每个支付系统都内置了一个通信模块。尽管这些通信模块在不同的系统中非常相似,但在开发第二代支付系统时,这些通信模块被单独提取出来形成了一个独立的通信平台,即 PMTS(Payment Message Transmission System),该平台专门用于各系统之间的消息传递和报文处理,无论是参与者自己的内部系统还是在NPC&CCPC中部署的支付应用系统都可以通过PMTS进行消息传递。
将PMTS通信系统单独提取出来的好处是显而易见的,就像我们之前介绍的SWIFT一样,它提供了统一的通信标准,避免了重复造轮子的工作量。
针对不同的接入者和场景,PMTS也提供了不同的方案。例如:
- PMTS-NPC:部署在 NPC 上,也就是集中交换网关;
- PMTS-CCPC:部署在 CCPC 上,也就是区域接入网关,专注的用来转发消息、安全检查等;
- PMTS-MBFE:部署在参与者本地,也就是我们常听说的“前置机”(MBFE:Member Bank Front End),负责打包商业银行行内系统向支付系统发出的各类报文、负责接收、解包、校验支付系统返回的各种报文等;
- PMTS-CLIENT:客户端,大小额等支付系统调用它与 PMTS 通讯;
- PMTS-Console:管理控制台。
下面用一张图,用来说明PMTS如何将参与者和支付系统连接起来的逻辑:
PMTS的核心是报文,这些报文是各个系统之间进行通信和交流的语言。针对不同的业务,PMTS定义了多种不同的报文类型。具体的报文细节在这里不做详细展开说明,对其有兴趣的可以搜索《第二代支付系统报文交换标准》,其中包括一代PKG/CMT报文格式和二代XML报文格式(部分支持ISO20022标准),并且对它们进行了详细介绍。如果已经研究过SWIFT报文,那么相信阅读起来就不会太困难。
三、结尾
我们已经对CNAPS2的基本结构有了初步的认识,并介绍了其中最重要的两个子系统:SAPS负责账户间的资金转移和清算账户管理,PMTS负责传递消息的通讯系统。
这两个子系统是二代支付系统的核心组成部分,它们使得清算过程变得简单高效。有了这两个系统,清算过程可以运行起来。
然而,仅有这两个系统是远远不够的。在此基础上,针对不同的场景和需求,需要构建多个清算系统才能形成完整的支付清算体系,例如大额支付、小额支付、网银支付、银联支付、网联支付、外汇支付、国债支付、证券支付、票据支付、农信银支付等等。后续有机会的话会逐一介绍这些清算系统。