❶ 核心银行系统 之二十一 支付
支付
1992 年中国人民银行引入世界银行的技术援助,着手中国现代支付系统一期工程的研究和建设。2000 年 10 月,又启动支付系统二期工程,采取“借鉴吸收,自主开发,先大后小,边建边用”的方针,力争 2003 年内完成现代化支付系统建没。经过人民银行科技和业务人员一年多的自主开发,现代化支付系统中的大额实时支付系统于 2002 年 6 月在北京和武汉模拟试运行成功,于 2002 年 10月正式试运行,效果良好。该系统的建成,不仅为商业银行和企事业单位及金融市场提供了快速、高效、安全的支付清算服务,有效防范了支付风险的发生,同时,它又为中央银行更加灵活、有效的实施货币政策提供了重要的手段。
2013年10月6日,第二代支付系统在全国正式投产运行。第二代支付系统是中国人民银行立足第一代支付系统的成功经验,引入先进的支付清算管理理念和技术,建设的全国统一的中央银行支付清算服务平台。第二代支付系统适应新兴电子支付发展、面向参与者管理需要、功能更完善、架构更合理、技术更先进、管理更简便,其核心是清算账户管理系统,业务应用系统包括大额支付系统、小额支付系统和网上支付跨行清算系统,辅助支持系统包括公共控制管理系统和支付管理信息系统。
(这张图有点老了,没有网联)
NPC:负责支付系统的运行和管理,接收、转发各城市处理中心的支付指令,并对集中开设的清算账户进行资金清算和处理,是整个系统的核心;
CCPC:主要负责支付指令的转发,接收并向 NPC 发送支付指令的 CCPC称为发报中心(OPC),接收 NPC 发来的支付指令并向接收行转发的 CCPC 称为收报中心(RPC)。此外,还负责对本 CCPC 范围内的小额业务进行清分轧差;
系统参与者:负责向支付系统发起支付指令、进行资金清算的银行和具有经营支付结算业务资格的城市信用合作社、农村信用合作社以及经中国人民银行批准可以通过支付系统办理特定业务的机构。相对应地,与支付系统对接的相关业务系统包括:中央银行会计集中核算系统、中央银行国库业务处理系统、商业银行行内汇兑系统、商业银行分支行的综合业务系统、外汇交易系统、中央债券综合业务系统、城市商业银行汇票处理系统、农村信用联社系统等。
HVPS:主要处理同城和异地的,金额在规定起点以上的贷记支付业务和紧急的小额支付业务。支付指令实行逐笔实时发送尧全额清算资金遥 支持银行间跨行大额贷记 资金汇划袁为债券交易市场尧银行间外汇交易市场尧银行间同业拆借市场尧证券交易所市 场以及其他金融市场提供资金清算服务。
BEPS:主要处理借记支付业务和规定金额以下的小额贷记支付业务。支付指令实行定时批量或即时发送,净额清算资金; BEPS 能够支持各种支付工具 的应用袁为社会提供低成本尧大业务量的支付清算服务袁满足社会公众多样化的支付需 求袁是银行机构和非金融支付服务组织进行跨行清算和业务创新的公共平台。
IBPS :支持规定金额起点以下的网上支付尧移动支付等新兴电子支付业务的跨行渊同 行冤处理遥 业务逐笔发送尧实时轧差尧定时清算袁采用实时应答机制袁客户进行支付操作 时袁可实时获知业务最终处理结果遥 网上支付跨行清算系统支持符合条件的非金融支付 服务组织接入袁为其业务发展和创新提供公共清算平台。
CIS 综合运用影像尧支付密码等技术袁将纸质支票转化为影像和电子信息袁实现纸质支票截留,将票据影像和电子清算信息传递至出票人开户行进行提示付款,付款回执通过小额支付系统处理,由小额支付系统统一纳入轧差并提交清算。实现了传统支付工具处理的电子化、信息化,促进支票等非现金支付工具的推广应用。随着信息技术不断发展以及小额支付系统业务处理能力的提高,待支票影像交换系统达到生命周期后,适时决策将票据影像业务统一纳入小额支付系统处理,支票影像交换系统停止运行。
SAPS:是支付系统的支持系统,集中存储清算账户,处理大额支付系统尧小额支付系统和网上支付跨行清算系统提交的全额或净额清算业务袁 并支持中央银行会计核算数 据集中系统渊ACS冤提交的单边业务的资金清算。
PMIS:是支付系统重要的辅助支持系统袁是一个多功能模块尧统一平台的管理信息 系统袁主要功能包括行名行号管理尧支付业务统计分析尧业务监控尧业务计费和数据存 储等遥 通过建立面向客户和管理决策层的应用数据仓库及公共信息平台袁实现支付业 务数据共享袁并充分运用数据仓库尧数据分析和报表工具袁对系统中蕴藏的大量支付 清算交易信息进行深度挖掘和加工袁为货币政策尧反洗钱尧金融稳定等提供可靠的信息支持。
公共控制系统旨在对大额支付系统、小额支付系统、支票影像交换系统、网上支付跨行清算系统以及清算账户管理系统等提供统一服务,提高系统整体业务处理效率。
根据中国银行业的组织体系,为提高系统运行效率,减少系统风险,适应商业银行业务逐步集中的需要,保障支付业务和资金清算快速、安全的处理,支付系统在物理结构上设立了两级处理中心,即国家处理中心(NPC)和在全国地市级及其以上城市的城市处理中心(CCPC),国家处理中心分别与各城市处理中心连接。其网络拓扑结构如图所示:
NPC 和 CCPC 要提供标准的接口规范,支持各相关业务系统的接入。同时,大额支付系统也提供与经批准设立的清算组织连接功能,为其提供资金清算和信息转发服务。
各政策性银行、股份制商业银行和城乡信用社(以下称商业银行)的直接参与者通过支付系统前置机(MBFE)和支付系统城市处理中心(CCPC)连接。根据商业银行行内系统和 MBFE 的连接形式,分直联和间联两种。商业银行行内系统与 MBFE 直接连接,由行内系统发起和接收支付业务的,为直联方式;否则为间联方式。
清算组织业务系统通过前置机(MBFE)与 CCPC 连接,发送代收和代付等业务,并要有必要的风险管理措施。
大额支付系统支持同城清算系统接入 CCPC,处理同城清算系统提交的轧差净额清算业务。未来要通过大额支付系统的先进性逐步取代并最终自然淘汰同城清算系统。
(一)大额支付系统简介
大额支付系统是以城市行为单位与人民银行支付系统相联,即每个城市行的综合业务系统与人民银行当地支付系统处理中心通过支付系统前置机相联,从而实现了各分支行(含异地支行,下同)与人民银行“点对网”方式。大额支付要求每一笔交易在 5 万元以上。
(二)大额支付系统的参与者分为直接参与者、间接参与者。
1.直接参与者指银行总行会计部、各分支行分行会计部。直接参与者与当地人民银行城市处理中心直接联结并在当地人民银行开立资金清算账户,负责清算本行及辖属营业机构的大额支付业务。直接参与者在大额支付系统范围内,办理银行间同业拆借、即时转账业务、质押融资、质押融资扣款、及与总行之间的内部资金划拨业务,但不能办理对外业务。
2.间接参与者指银行各分支行辖属营业机构。间接参与者使用行内系统通过直接参与者向人民银行提交清算业务,并由直接参与者负责清算大额支付业务。间接参与者在大额支付系统业务范围内可办理汇兑、委托收款(划回)、托收承付(划回)、退汇业务及人民银行规定的其他业务。
3.总行会计部、各分支行会计处在当地人民银行开立的清算账户,是经中国人民银行批准的直接参与者开立的用于资金清算的存款账户。该账户物理上存放在国家处理中心,逻辑上由人民银行当地分支行负责管理。
(三)大额支付系统的信息处理流程
1.大额支付系统处理的支付业务信息从发起行发起,经发起清算行、发报中心、收报中心、接收清算行,至接收行止。
2.发起行是向发起清算行提交支付业务的营业机构即间接参与者。
3.发起清算行是向人民银行支付系统提交支付信息并开设清算账户的分行会计部即直接参与者。
4.发报中心是向国家处理中心转发发起清算行支付信息的人民银行城市处理中心。
5.国家处理中心是接收、转发支付信息,并进行资金清算处理的机构。
6.收报中心是向接收清算行转发国家处理中心支付信息的人民银行城市处理中心。
7.接收清算行是向接收行转发支付信息并开设清算账户的分行会计部即直接参与者。
8.支付信息由纸凭证转换为电子信息,或由电子信息转换为纸凭证,具有同等的支付效力。支付信息由纸凭证转换为电子信息,电子信息产生支付效力,纸凭证失去支付效力;电子信息转换为纸凭证,纸凭证产生支付效力,电子信息失
去支付效力。
(四)资金清算顺序
发起行(发起清算行)应及时向大额支付系统发送支付业务信息。国家处理中心收到支付业务信息后,对清算账户头寸足以支付的,立即进行资金清算,并将支付业务信息发送接收清算行(接收行);不足支付的,按以下队列等待清算;
直接参与者根据需要可以对一下第 2、5、6 项队列中的支付业务先后顺序进行调整。各队列中的支付业务按顺序清算,前一笔业务未清算的,后一笔业务不得清算。
1.错账冲正。
2.特急大额支付(救灾、战备款)。
3.日间透支利息和支付业务收费。
4.同城票据交换轧差净额清算。
5.紧急大额支付。
6.普通大额支付。
(五)业务范围
1.大额支付系统处理的业务种类
2.大额支付系统业务处理的优先级次。发起行发起支付业务,应根据发起人的要求确定支付业务的优先级次。优先级次按下列标准确定:
支付清算系统是分布在支行的,当支行或营业网点发起支付清算业务时,会由该交易发送终端所属的支付清算系统调用核心提供的服务,完成一次支付业务。
这些模块是通过对 4 位交易码进行逻辑上的划分。
大额支付交易可以分为两种,一种是由 Teller 发起的交易,另一种是支付网关的来帐交易。
(一)Teller 发起的交易:
1.Teller 的大额支付交易报文通过 CBSD 发往核心。PS0850 将报文解包后,根据交易码,将交易数据包发往大额支付处理调度程序 PS1416,PS1416根据交易码,进一步将交易分发给具体交易的处理程序进行处理,如,汇兑往帐交易,交易码为 4258,则该交易就交由 SR4258 交易处理程序处理。
2.交易处理程序根据具体交易的业务逻辑和会计分录,调用原系统中的原子服务交易。简单的说,大额支付的交易是对核心提供原子交易的重新组合形成的新的交易。交易处理程序通过模仿 Teller 终端交易的方式,调用原子服务。
3.核心系统中的原子服务通过被调用完成账务处理后,将处理结果返回到具体交易处理程序。具体交易处理程序在 原子服务处理完后,确定是否需要发往支付网关的数据。发往支付网关的往报由往报网关接口程序 NAPOUT处理,NAPOUT 会按照支付交易渠道,组织往报报文发往支付网关。往报的处理回执经来报网关接口处理程序 NAPIN 发回具体交易处理程序。
4.具体交易处理程序根据往报回执进行相应处理,再将该交易的处理结果,返回给柜员。处理结果经过 PS0860,返回到 TELLER 系统。
(二)支付网关的来报交易:
1.支付网关的来报交易,由 NAPIN 进行合规检查,如果来报合规,则发送到 PS1416,由 PS1416 执行 Teller 发起的交易步骤 2 和步骤 3,自动入账,如果不合规则复制到来报错报流水中。
2.PS1416 根据应用模块的处理结果和错报检查结果,将结果信息发往 NAPOUT,由 NAPOUT 组织回执信息发往支付网关。
3.错报信息则由柜员进行人工处理。
(一)生成支付结算业务序号
1.支付结算业务序号设计
支付结算业务序号是用来唯一标识一笔交易,是柜员在柜员终端上用来查询一笔交易的关键字,既一个支付结算业务序号唯一对应一笔银行支付交易。由于柜员的业务操作习惯,支付结算业务序号应有一定的规则,使柜员一看到支付结算业务序号就能了解该笔业务的发生时间、支付的渠道类型、是来账还是往账。设计的支付结算业务序号
(二)Teller 通讯程序
1.接收 Teller 来报
大额支付的金融交易主要可以分为两类:一类是由本行发起的交易,向它行发送报文,称为往账;另一类是由他行发起的交易,向本行发送交易报文,称为来账。这两种类型的交易分别来自 Teller 和支付网关,由于 CBSD 将来自 Teller 和支付网关的数据进行了统一处理,核心不再区分报文是来自 Teller 还是来自支付网关,统一由接收 Teller 来报的程序来接收上送的数据。
2.向 Teller 发送报文
大额支付系统完成交易请求后,无论交易成功与否都应该向 Teller 返回处理结果。
(三)调度核心服务
大额支付的金融交易是通过组合核心原子服务得到的。大额支付系统对核心服务的调用是通过 PS0850。大额支付系统被视为一个虚拟的“Teller”,向核心发起所要调用的原子服务的交易。该模块包括了向核心发送交易请求和接收核心原子服务处理结果两个程序。
(四) 支付网关接口的通信程序
由于与人行的通信有着严格的报文格式的规定,而且各个渠道的报文标准又不相同,用另一个网关接口程序将大额支付的报文转换成人行的标准报文。 在成功完成核心服务的调用后,说明在本行的记账已经成功。此时需要通过支付网关向人行清算中心发送业务报文,完成行与行之间的清算。同样的与支付网关的通信包括发送和接收两个子例程。
1.向网关接口发送报文
2.接收网关接口报文的通信程序
支付网关向人行清算中心发送业务报文后,人行清算中心再处理完行与行之间的清算后,会通过支付网关向核心返回处理结果。
(五)金融交易冲正程序
金融交易的冲正是金融交易很重要的安全措施。在大额支付系统中的金融交易是通过组合核心系统提供的金融交易服务来完成的。如果一笔大额交易需要调用 2次核心系统提供的金融交易服务,当第一次调用成功,而第二次调用失败时,需要将第一次调用成功的金融交易进行冲正。简单的说,冲正就是把一次错误的记账交易恢复。如某金融交易是从甲账户里转了 n 元钱到乙账户,那么冲正就是在需要时,将 n 元钱从乙账户退回给甲账户。 因为大额支付交易通常会调用多次核心系统原子服务,每次调用核心系统的原子服务都要将详细信息记录下来以便用于冲正。
在大额支付系统向支付网关发送报文时。网关接口程序负责将核心的固定格式报文转换成各个支付渠道的特定格式报文。网关接口有 2 个:NAPOUT,用于向支付网关发送报文;NAPIN,用于接收人行清算中心处理结果。下面分别介绍这两个接口的实现。
(一)NAPOUT
NAPOUT 是支付系统往报组包、发送主程序。当 PS1416 处理完金融交易,需要向支付网关发送往报报文时,用 SNDNAP 程序将往报报文通过 NAPOUT发给支付网关。
NAPOUT 接收到数据后,根据渠道号、交易码从“交易和报文类别对照表”找到对应的报文编号按照“支付网关报文格式”进行组包条件检查。检查未通过,返回失败信息码和拒绝码 到 PS1416;检查通过后按照“支付网关报文格式”进行组包,组包后数据写入往报流水。
“交易和报文类别对照表”的使用是因为同一个支付清算业务可能可以通过多个渠道进行银行间的清算,如汇兑往账交易,可以通过人行的大、小额,国际间的清算通过 SWIFT。各个渠道用到报文格式都有着该组织的报文标准,而且各不相同,所以在通过支付网管向清算中心发送报文时,需通过该表来区分使用的报文格式。
NAPOUT 程序主要完成以下功能:
1.根据交易格式文件拆解从 PS1416 传过来的数据;
2.根据“交易和报文类别对照表”判断该交易的渠道和报文编号;
3.根据报文格式检查数据是否合法和完整;
4.根据交易码和渠道号,查找“交易和报文类别对照表”,依据特定报文要求重组报文;
5.写往报流水,将报文发送给支付网关;
6.返回 Teller 成功信息。
(二)NAPIN
NAPIN 程序随支付系统启动而自动启动,自动以轮询的形式在后台监听来报流水文件,当发现有新的待处理的来报报文时,按照来报的格式进行拆包处理。然后按业务内容和与 CBSD 交易相同的格式组成需要处理的交易,发送到相应的处理程序数据队列中。NAPIN 主程序主要功能是将支付网关的来报,通过查询交易和报文类别对照表,通过渠道号和报文编号获得核心中的相应的交易码,由此得到相应的格式报文。将网关来的交易报文通过该核心固定报文重新组包,上送核心进行处理。
对于错误的报文应该记录在一个物理文件中,由柜员调用专门的错误处理交易进行处理。错报流水记录表,用于记录出错的报文。
大额支付处理主程序(程序名为 PS1416)是一个报文调度程序。在支付系统启动后,就一直监听,当有数据报文时,进行拆包,此时的报文结构是经由 PS0580 发送过来的标准格式 PSB00401。PS1416 拆解报文后,根据交易码将其分发给相应的交易处理程序处理。
汇兑往账交易是汇款人委托银行将其款项支付给收款人的结算方式。单位和个人的各种款项的结算,均可使用该交易结算。汇兑往账的交易码是 4258,对应的交易处理程序是 SR4258。
SR4258 交易设计为以下几个步骤:
1.进行数据有效性检查,如金额和帐号的检查;
2.将业务要素记录汇款电子登记簿,用于跟踪汇款状态,处报表工作;
3.根据现转标志判断汇款的资金来源是现金还是从客户帐转账,从而调用相应的原子服务。如果是现金,原子服务交易码是 51GC;如果是客户帐转账,原子服务交易码是 51SC;
4.根据原子服务返回结果判断记账是否成功,记账成功则继续以下步骤,不成功时需修改汇款电子登记簿,记录该笔记录失败;
5.继续判断收费方式,是现金还是从汇款人帐户扣款。如果是现金,原子服务交易码是 51GG;如果是汇款人帐户扣款,原子服务交易码是 51SG;
6.根据原子服务返回结果判断收费是否成功,如果成功则继续以下步骤,不成功时,需要调用冲正交易,将步骤 3 的交易进行冲正,同时修改汇款电子登记簿,记录该笔记录失败;
7.如果步骤 5 成功后,需向人行清算中心发送清算报文,完成行与行之间的资金清算。
8.人行清算中心,会发送会处理结果报文,核心仍需判断清算中心的处理是否成功,当清算中心处理成功后,修改电子登记簿状态,返回 Teller 交易成功信息;如果失败也需修改电子登记簿状态,返回 Teller 交易失败信息。再由柜员进行相关处理。
大额支付系统主要完成银行间的资金清算,它支持种类繁多的银行业务。这些银行业务主要包括汇兑、委托收款(划回)、托收承付(划回)、银行间同业拆借等。一个大额支付交易的数据流向是:从发起方通过人行前置发往人行清算中心;人行清算中心进行清算并把清算结果通过接收方的人行前置发送给接收方;接收方进行核心记账后,将处理结果返回给人行清算中心;人行清算中心将成功的处理结果返回给发起方。 银行业务中的汇兑往账交易就是一个典型的大额支付交易,以汇兑往账为例。
对大额支付汇兑往帐的交易设计步骤解释如下:
1 . Teller 发 起 一 笔汇兑往账交易 ,经由 CBSD 将报文发 送到数据队列(PS0850Q)。
2.PS0850 在一直监听 PS0850Q,当 PS0850Q 中有数据时,调用系统程序“QRCVDTAQ”获得交易数据包,拆解报文头后,如果是属于大额交易,将报文通过系统程序“QSNDDTAQ”,将报文分发到大额支付系统的数据队列(PS1416Q)。
3.大额支付调度程序(PS1416)一直监听 PS1416Q,当 PS1416Q 中有数据时,调用系统程序“QRCVDTAQ”获得交易数据包,拆借报文头后,分析交易码,如果交易码为 4258 即汇兑往账交易,PS1416 调用 SR4258 汇兑往账处理例程。
4.SR4258 首先会对拆包,进行数据有效性检查,包括行名、行号、交易金额等业务要素。生成结算业务序号,用于跟踪该笔交易。检查通过后会在“大额支付电子登记簿中”生成一笔新的记录。
5.然后根据会计分录,重新组报文,新的报文格式为原子服务标准格式。
6.然后根据会计分录,重新组报文,调用原子服务进行账务处理。
7.原子服务进行账务处理后,将处理结果组包发送到 PS0860Q。
8.PS0860 在监听到 PS0860Q 中有数据时,调用系统程序“QRCVDTAQ”获得交易数据包,拆解报文头后,将报文通过系统程序“QSNDDTAQ”,将报文给SR4258 处理程序。
9.处理程序在收到 ICBS 原子服务处理结果后,根据结果修改“大额支付电子登记簿”状态。
10.将人民银行规定的大额支付实时系统报文要求的业务要素发送给 SNDNAP接口。
11.SNDNAP 将报文发送给支付网关,由支付网关将业务要素重新组,组成人民银行规定的标准报文,如国内汇兑往账交易,就组成 CMT100 报文给人民银行清算中心。
12.支付网关会实时的接收到人民清算中心的处理结果, 将结果发送到RCVNAP 支付网关报文接收接口。
13.RCVNAP 并将结果返回给 SR4258 交易处理程序。
14.SR4258 根据处理结果修改“大额支付电子登记簿”状态。
15.SR4258 通过 SNDTELLER()将交易处理结果发到 PS0860Q 中。
16.最后,PS0860 将整个交易的处理结果返回给 Teller。
一笔实时业务处理时间是由多个节点处理时间和网络通讯传输时间构成的,因此一笔交易的系统响应时间难以确定,但可以通过在相关节点设定超时时间予以限制。
1.交易处理时间:T = T1 + T2 + T3 + T4 + T5 + T6 + T7 +T8 + T9
2.各节点超时时间值设置要考虑整个网络状况、入网成员业务系统处理效率等
3.超时时间值自受理网点起到接收到收方成员系统止是递减的,例如:
网点柜员系统超时时间值:60秒
发起方成员系统超时时间值:55秒
人行清算中心超时时间值:50秒
接收方成员系统超时时间值:45秒
发起方成员系统、清算中心系统、接收方成员系统都以自身系统时间来计算计时开始和计时结束。
清算中心系统的超时检查时间控制段为:从清算中心系统向接收方成员系统发送报文开始,到清算中心系统收到接收方成员系统的应答报文为止。清算中心系统的超时时间为 30 秒。
发起方成员系统的超时检查时间控制段为:从发起方成员系统向清算中心系统发送报文开始,到发起方成员系统收到清算中心系统的应答报文为止。发起方成员系统的超时时间为〉=40 秒。
接收方成员系统的超时检查时间控制段受清算中心系统的 30 秒限制,包含网络传输和行内处理的时间,只能小于 30 秒。
由上文的分析,发现当本行作为大额交易的接收方时,含网络传输和行内处理的时间,会限制在 30 秒以内。