第二代支付系统互联规范、报文交换概要介绍中国人民银行清算总中心支付系统开发中心主要内容•第一部分:–第二代支付系统互联规范介绍•第二部分:–第二代支付系统报文交换标准介绍•第三部分:–有关问题说明第二代支付系统互联规范介绍•第二代支付系统互联规范共由13个文档组成,每个文档适用于不同类型的系统参与者与第二代支付系统互联。•注意:选择与本参与机构的类型相适合的文档进行阅读。这13个文档不是每个都对本行有用,不需要全部。行内系统不改造的参与者如何接入二代支付系统?•仍通过现有的一代大、小额支付系统前置机(即MBFE)接入。•行内系统不需要调整与修改,与支付系统之间仍收、发原一代支付系统的CMT/PKG格式报文。完成行内系统改造后的参与者如何接入二代支付系统?•一代支付系统建设过程中,大额、小额…等每一个业务系统都建设了一套相对独立的从参与者到CCPC再到NPC的应用逻辑,既要负责业务需求和功能的实现,也要负责报文收发和节点间的传输。从实际情况来看,关于报文的收发和在节点间的传输需求,对各个业务系统而言,基本都是一致的,因此各系统分别去实现这些功能属于重复。•为便于向参与者提供灵活、可靠的接入服务,二代支付系统建设中,提出了“报文传输与业务处理分离”的思路,通过构建一个高可用的支付报文传输平台(PaymentMessageTransmissionSystem,简称PMTS),实现参与者与支付系统之间安全可靠的支付业务报文传递。•从支付报文传输平台(即PMTS)的角度来看,各类金融信息系统均可接入到该平台,通过该平台提供的服务来发送/接收跨行的报文;支付系统处理中心也只是接入到PMTS的一个信息系统,从PMTS中获取报文,进行处理和转发。构建支付报文传输平台后,支付系统与参与者和其他外围系统的关系如下图所示:•图中的CNAPS2,即第二代支付系统包含了大额支付系统、小额支付系统、网上支付跨行清算系统、清算账户管理系统、公共数据管理系统等业务系统•支付报文传输平台(即PMTS)负责完成第二代支付系统与外部参与者间的支付业务报文传输,是整个第二代支付系统的一个基础服务平台。CNAPS2ACS商业银行TCBS银联清算组织国债支付报文传输平台CFXPSECDS大额支付系统小额支付系统网上支付跨行清算系统清算账户管理系统公共管理系统......PMTS的功能与特点•支付报文传输平台(PMTS)作为一个连接支付系统和参与者的渠道,是一个高可用的端到端报文传输平台,其任务是保证支付系统与各个参与者之间的高可靠性的报文传输。其业务功能主要是以下几点:•(1)传输安全:保证支付报文传输过程中端到端的数据完整性;•(2)报文校验:对收到的支付报文要进行格式校验,不满足格式要求的给予拒绝处理,从而实现对参与者故障的有效隔离。参与者故障中报文级的错误可以在支付报文传输平台得到屏蔽,不影响业务处理系统(同时业务系统也支持对参与者设置故障状态,限制该参与者业务的发起与接收)。•(3)智能路由:对于满足格式要求的,根据目标地址自动选择传输路径,确保最终送达支付系统以及/或者参与者。该平台支持参与者多点接入路由的灵活调整,如在某些节点发生故障的时候,该平台能够根据调整后的路由选择其他节点继续进行报文传输处理。•支付报文传输平台具备如下主要特性:•(1)与业务系统无关:支持大额、小额和网银系统的各类报文,未来可扩展支持其他支付清算系统的报文;•(2)兼容多种报文格式:支持CMT/PKG/XML报文,并可以根据需要方便扩展;•(3)高可用性:系统要具有较好的容错机制,在部分节点失效时能继续提供报文传输服务。PMTS-MBFE参与者接入端软件•PMTS-MBFE是PMTS系统的一部分,物理部署于参与者端。•它是连接支付系统和参与者行内系统的桥梁,是支付系统的重要组成部分。PMTS-MBFE的主要功能包括报文转发、报文格式检查、安全管理等,即对参与者行内系统提交的报文和支付系统发来的报文进行相应的报文格式检查,并根据系统安全规范实现报文的可靠传输和交换。参与者接入端软件不参与业务相关处理,如业务合法性检查、重账检查、业务核对等,以降低其运行维护复杂度。•参与者接入端软件只提供直连接入功能,不提供业务录入、来帐打印等间连接入功能。(这点与一代大、小额MBFE不同)•参与者接入端软件应用软件由人民银行负责开发,免费提供给系统参与者使用,物理部署在系统参与者端,并由系统参与者进行系统维护与管理。参与者接入端软件的部署•系统参与者使用参与者接入端服务器通过支付系统专用网连接第二代支付系统,参与者接入端服务器上部署参与者接入端软件,物理摆放在系统参与者系统内部,使用消息中间件和支付系统交换业务报文。•部署示意图如右:参与者接入端服务器(部署PMTS-MBFE应用软件)路由器防火墙支付系统专用网参与者接入端软件二代支付系统行内系统签名服务器一代支付系统密押设备PMTS-MBFE集群方式部署建议•PMTS-MBFE集群配置方式支持–主备模式•冷备模式•热备模式–并行模式•并行模式•并行冗余模式主备模式•冷备模式:•主用直联前置机与备用直联前置机不共享存储设备,配置为相同的系统配置、网络IP等等,正常情况下,主用直联前置机与CCPC两台服务器连接,负责完成报文收发。而备用直联前置机不启用。如右图:•当主用直联前置机发生故障时,可即时启用备用直联前置机,接入网络,进行报文的收发。CNAPS2接入网关A行内系统PMTS-MBFEAPMTS-MBFEBCNAPS2参与者CNAPS2接入网关B主用CNAPS2接入网关A行内系统PMTS-MBFEAPMTS-MBFEBCNAPS2接入网关B备用主用CNAPSFE发生故障主用备用主备模式•热备模式:•主用直联前置机与备用直联前置机共享存储设备。主用直联前置机与CCPC两台服务器连接,负责完成报文收发。备用直联前置机同时保持与CCPC服务器的连接,具备与支付系统接入网关的报文收发链路,但正常情况下不启用报文收发功能如右图:•当主用直联前置机发生故障时,可即时启用备用直联前置机的报文收发功能,将其切换为主用直联前置机,同时将原主用直联前置机置为备用模式。CNAPS2接入网关行内系统CNAPSFEACNAPSFEBCCPCMBCNAPS2接入网关主用CNAPS2接入网关行内系统CNAPSFEACNAPSFEBCNAPS2接入网关备用故障解除后主用备用CNAPS2接入网关行内系统CNAPSFEACNAPSFEBCNAPS2接入网关主用备用主用发生故障共享存储共享存储共享存储并行模式•并行模式下,两台(或多台)直联前置机均与支付系统接入网关连接,同时在线,完成报文收发。•当任一直联前置机发生故障时,即单点故障情况下,报文收发功能不受影响。•部署示意图如下:CNAPS2接入网关A行内系统PMTS-MBFEAPMTS-MBFEBCNAPS2参与者CNAPS2接入网关BactiveCNAPS2接入网关A行内系统PMTS-MBFEAPMTS-MBFEBCNAPS2接入网关B单个CNAPSFE故障时inactiveactiveactive并行冗余模式•并行接入两个接入网关,1个作为主用,另1个作为备用。•主用接入网关故障情况下,可快速切换到备用接入网关(预计不超过30分钟)CNAPS2接入网关BPMTS服务器CNAPS2接入网关APMTS服务器行内系统inactiveinactiveactiveactiveCNAPS2接入网关BPMTS服务器CNAPS2接入网关APMTS服务器行内系统inactiveactiveactiveinactive行内对于多台PMTS-MBFE可用性及负载情况的探测•当行内部署2台或者更多的PMTS-MBFE时,可以通过向PMTS-MBFE发送报文了解这些PMTS-MBFE的可用性及负载情况。•1、可用性判断标准:•发送探测请求报文后,超过行内规定的时间无回应报文•2、负载情况的判断标准:•探测回应报文中有一个“负载系数”的值,表示该PMTS-MBFE的压力(即待处理的业务报文数量),0时表示无压力,值越大则负载越大。参与者接入端软件的数据交换•参与者通过参与者接入端软件与支付系统进行报文交换•示意图如右所示:支付系统PMTS-MBFE支付系统端系统参与者端行内系统数据交换消息中间件数据交换完成行内改造的参与者接入前的工作•需完成以下两项工作:–1、按照《第二代支付系统直联前置机配置指引》,准备前置机运行环境,部署PMTS参与者接入端软件;–2、按照《第二代支付系统报文交换标准》,完成“互联规范”中要求的有关支付系统业务报文(含一代报文和二代报文,具体参考“互联规范”4.6节)的开发。与第一代支付系统的兼容•为了实现第一代支付系统向第二代支付系统的平滑过渡,第二代支付系统投产后相当一段时间内,将既支持参与者通过行内系统改造采用第二代支付系统报文标准接入,也支持参与者不进行改造,继续采用原一代报文交换标准接入。•因此,完成行内系统改造的参与者加入二代支付系统时,需要在支持二代支付系统报文标准(即XML格式报文)的同时,支持部分一代支付系统报文标准(即CMT/PKG格式报文),以实现与未完成行内系统改造的参与者间进行业务往来。系统互联的三种数据格式•1、第二代支付系统新增报文(XML格式)•2、原第一代支付系统报文(CMT/PKG格式)•3、基础数据文件(XML格式的文件)1、第二代支付系统新增报文•为便于系统参与者接入支付系统,降低报文转换复杂性,二代支付系统新增报文交换标准采纳了部分ISO20022报文标准作为支付系统的报文,并参照ISO20022规范开发了其他报文,全部报文均采用XML格式描述。其中,对采纳使用的ISO20022标准报文,根据支付系统的实际情况,进行了必要的格式约束。•行内系统发送报文给支付系统时,应将待发送的往帐报文使用XMLSchema(随报文标准一起下发的)进行格式检查,检查通过后,才能提交给参与者接入端软件。•行内系统从参与者接入端软件接收报文后,行内系统应使用XMLSchema对收到的来帐报文进行格式检查,检查通过后,才能提交给行内系统进行业务处理。对检查失败的来帐报文,行内业务人员可以选择主动联系支付系统业务管理人员,对异常来账报文做补发处理;也可选择行内系统直接丢弃,留待日终对账解决。•详细报文交换标准参考《第二代支付系统报文交换标准》。2、原第一代支付系统报文交换标准•原一代支付系统的CMT/PKG报文的格式保持“不变”。•详细报文交换标准参考《二代支付系统报文交换标准》。•关于格式保持不变,注意:–原一代支付系统中,参与者行内系统是调用人民银行发布的API与支付系统的MBFE进行通讯的,当报文从行内系统发出时,如图:–报文1实际上经过API后转换为报文2。两个报文略有不同,主要有三点不同:–1、报文头长度不同。报文1使用的是所谓的“短报头”。而报文2使用的是所谓的“长报头”。–2、密押字段。对于需要加、核密押的报文,报文1中是不含密押字段的。而报文2经过API后增加了密押字段。–3、报文尾。大额报文,报文1是不含报文尾的,报文2含报文尾。–而对于行内系统调用API接收报文时,与上面提到的三点不同相反。3、基础数据文件•为便于各系统参与者将二代支付系统的各类基础数据导入行内系统或者进行其他处理,二代支付系统提供了基础数据文件。(例如行内准备测试环境,需要一套完整的支付系统参数数据,则需要对这个基础数据文件进行处理后,导入到自身系统中)。基础数据文件的格式是XML的。•这些数据文件的格式标准具体参考《二代支付系统报文交换标准》文档集中的《二代支付系统基础数据文件格式标准》。报文传输的可靠性约束•为保证系统间报文传输的可靠性,行内系统和支付系统均应在接收到对方发送的报文时给予通信级报文接收确认,该报文使用“通信级确认报文”,具体参见《二代支付系统报文交换标准》。•参与者通信软件发送报文给支付系统时,应标记该报文的发送状态为“待确认”,待收到支付系统返回的通信级确认报文后,修改状态为“已确认”。对没有