什么是ISO20022?

ISO 20022 是国际标准化组织 (ISO) 提议用于开发所有金融消息的平台 , 金融消息标准化使得各行各业的运作变得更加有效和高效,它们为产品和服务提供了规范,以确保产品和服务安全、可靠、具有良好的质量。

ISO 20022 标准包含多个部分,由负责银行、证券和其他金融服务领域的标准化的 ISO 技术委员会 (ISO/TC 68) 开发和维护。ISO 20022 没有描述消息本身;它描述了一个使用以下工具开发标准化消息的通用平台:

  • 一种建模方法(基于 UML),用于采用某种与语法无关的方式跨金融业务领域捕获业务交易和关联的消息流。
  • 一个业务术语中央字典,常用在金融机构之间的通信中。
  • 一组 XML 设计规则,用于将使用 UML 描述的消息转换为 XML 模式。应注意到,XML 不是规定的消息语法,但它常常是首选语法,也是本文中使用的语法。

View more info in ISO 20022 ORG !

WHY ISO 20022?

ISO 支付消息

在 ISO 上下文中,该标准描述了赖以表达信息的协议,而语法是用于表达信息的格式或 语言 。消息定义提供了对可在各方之间交换的信息和数据格式(字段长度、代码和字符集)的明确分类,在逻辑上,这些格式可被视为对消息中交换的数据、其结构和其含义的描述。这些逻辑定义可映射到 ISO 20022 中定义的业务定义。尽管 ISO 没有规定消息的语法,但 XML 是消息规范中使用最广泛的语法,而且 XML 消息模式源自 ISO UML 消息模型。

ISO 20022 消息可用于完整的端到端支付链:客户到银行(支付)银行到银行(支付清算与结算),以及报告(现金管理)。这些金融消息定义分为多个业务区域(这些是行业中公认的功能领域),由业务区域代码(4 个字符)来标识。这些代码是:

  • acmt – 帐户管理
  • admi – 行政管理
  • caaa – 承兑人到受让人卡交易
  • camt – 现金管理
  • catm – 终端管理
  • pacs – 支付清算与结算
  • pain – 支付发起
  • reda – 参考数据
  • seev – 证券事件
  • semt – 证券管理
  • sese – 证券结算
  • setr – 证券交易
  • trea – 金库
  • tsmt – 交易服务管理
  • tsin – 交易服务启动

表示一次特定的业务交易的消息流由来自上面定义的业务区域的消息组成。例如,客户发起的直接借记发起消息 (pain.008.001.03) 将导致出现客户支付状态报告消息 (pain.002.001.04)。所有业务区域的消息流的详细信息可在 ISO 20022 网站的 “ISO 支付消息” 部分(参见 参考资料 )中找到。

消息类型

关于消息类型,例如pain.002.001.04, 可以在ISO2022官网文档中找到 ISO 20022 Message Definitions

  • All business domains
  • Business Application Header
  • Cards
  • FX
  • Payments
  • Securities
  • Trade Services

直接借记消息示例

直接借记或直接提款是一种金融交易,其中一个人(债权人)从另一个人(债务人)的银行帐户提取资金。从形式上讲,直接提取资金的人(收款人)告诉他或她的银行从另一个人(付款人)指定的他的银行帐户收取(也就是借入)一笔资金,将这些资金支付给收款人指定的银行帐户。直接借记会导致债权人与债务人通过基础设施或通汇银行进行现金转账。它们可作为单个指令进行交换,但在传统上,可以按照一些通用特征将它们分组到一起,并通常在批处理模式下进行交换,以提高效率。

使用 ISO 标准,发起方将支付发起 (pain.008.001.03) 消息发送给转账代理或债权人代理。它被用于从一个债权人的各个债务人的帐户请求单次收取或批量收取资金。

示例 1 : Smith 保险公司向它的帐户服务方 AAAAUS29 发送的客户直接借记发起消息。AAAAUS29 依照协议 VERPA-1 向 Smith 提供了一项特殊服务。直接借记发起消息包含单个收款指令。该指令用于从帐户 789101 收取 985 英镑,该帐户归债务人 Lee 所有,并由代理 CCCCUS27 提供服务。这是一种一次性直接借记,它在 2013 年 6 月 8 号使用引用消息 SMITH2435/2012 通知 Lee。这笔支付用于一笔汽车保险费。请求的收款日期是 2012 年 7 月 13 日,与处理该指令相关的手续费将在 Smith 保险公司与债务人之间分摊。

<?xml version="1.0" encoding="UTF-8"?>
<?valid true?>
<?description Sample Message?>
<Document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="urn:iso:std:iso:20022:tech:xsd:pain.008.001.03"><CstmrDrctDbtInitn><GrpHdr><MsgId>CAVAY1234</MsgId><CreDtTm>2013-06-02T14:25:00</CreDtTm><NbOfTxs>1</NbOfTxs><CtrlSum>985</CtrlSum><InitgPty><Nm>Smith</Nm><PstlAdr><StrtNm>Virginia Lane</StrtNm><BldgNb>3</BldgNb><PstCd>W12 8QT</PstCd><TwnNm>London</TwnNm><Ctry>GB</Ctry></PstlAdr><CtctDtls><Nm>J. Thompson</Nm><EmailAdr>Thompson@Smith.com</EmailAdr></CtctDtls></InitgPty></GrpHdr><PmtInf><PmtInfId>CAVAY/88683</PmtInfId><PmtMtd>DD</PmtMtd><BtchBookg>false</BtchBookg><ReqdColltnDt>2013-07-13</ReqdColltnDt><Cdtr><Nm>Smith</Nm><PstlAdr><StrtNm>Virginia Lane</StrtNm><BldgNb>3</BldgNb><PstCd>W12 8QT</PstCd><TwnNm>London</TwnNm><Ctry>GB</Ctry></PstlAdr></Cdtr><CdtrAcct><Id><Othr><Id>789123</Id></Othr></Id></CdtrAcct><CdtrAgt><FinInstnId><BICFI>AAAAUS29</BICFI></FinInstnId></CdtrAgt><DrctDbtTxInf><PmtId><EndToEndId>AY090327/456</EndToEndId></PmtId><PmtTpInf><InstrPrty>NORM</InstrPrty><SvcLvl><Prtry>VERPA-1</Prtry></SvcLvl><SeqTp>OOFF</SeqTp></PmtTpInf><InstdAmt Ccy="GBP">985</InstdAmt><ChrgBr>SHAR</ChrgBr><DrctDbtTx><PreNtfctnId>Smith2435/2013</PreNtfctnId><PreNtfctnDt>2013-06-08</PreNtfctnDt></DrctDbtTx><DbtrAgt><FinInstnId><BICFI>CCCCUS27</BICFI></FinInstnId></DbtrAgt><Dbtr><Nm>Lee</Nm><PstlAdr><StrtNm>Cross Road</StrtNm><BldgNb>45</BldgNb><PstCd>E56 7HY</PstCd><TwnNm>London</TwnNm><Ctry>GB</Ctry></PstlAdr></Dbtr><DbtrAcct><Id><Othr><Id>789101</Id></Othr></Id></DbtrAcct><RmtInf><Ustrd>CAR INSURANCE PREMIUM</Ustrd></RmtInf></DrctDbtTxInf></PmtInf></CstmrDrctDbtInitn>
</Document>

在响应中,发送了一条积极的客户支付状态报告消息 (pain.002.001.04),以确认消息已(基于客户概要信息)通过验证并被接受。

<?xml version="1.0" encoding="UTF-8"?>
<?valid true?>
<?description Sample CustomerPaymentStatusReport to acknowledge that the message passed
validation and was accepted based on the customer profile.?>
<Document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.04"><CstmrPmtStsRpt><GrpHdr><MsgId>BBBB/120928-PSR/001</MsgId><CreDtTm>2013-09-28T14:09:00</CreDtTm><InitgPty><Nm>Smith</Nm><PstlAdr><StrtNm>Virginia Lane</StrtNm><BldgNb>3</BldgNb><PstCd>W12 8QT</PstCd><TwnNm>London</TwnNm><Ctry>GB</Ctry></PstlAdr></InitgPty><DbtrAgt><FinInstnId><BICFI>AAAAUS29</BICFI></FinInstnId></DbtrAgt></GrpHdr><OrgnlGrpInfAndSts><OrgnlMsgId>CAVAY1234</OrgnlMsgId><OrgnlMsgNmId>pain.008.001.03</OrgnlMsgNmId><OrgnlCreDtTm>2013-09-28T14:07:00</OrgnlCreDtTm><OrgnlNbOfTxs>1</OrgnlNbOfTxs><OrgnlCtrlSum>985</OrgnlCtrlSum><GrpSts>ACCP</GrpSts></OrgnlGrpInfAndSts></CstmrPmtStsRpt>
</Document>

008 消息的数据映射

Data mapping for pain.008 message pain

ISO path XML tag ISO data type Data entity Data attribute Data type
Document/@xmlns Map the content of the namespace after xsd: to the Message Name (required for response) e.g. pain.008.001.03 ISO Message Document Message Name ID CHAR(35)
CstmrDrctDbtInitn/GrpHdr/MsgId MsgId Max35Text ISO Message Document Message Identifier CHAR(35)
CstmrDrctDbtInitn/GrpHdr/CreDtTm CreDtTm ISODateTime ISO Message Document Message Creation Date DATE
CstmrDrctDbtInitn/GrpHdr/NbOfTxs NbOfTxs Max15NumericText ISO Message Document Number of Transactions NUMERIC(15,0)
CstmrDrctDbtInitn/GrpHdr/InitgPty/Id/OrgId/Othr/Id Id Max35Text ISO Message Document Initiating Generic Organisation ID CHAR(35)
CstmrDrctDbtInitn/PmtInf/PmtMtd PmtMtd PaymentMethod2Code See note 1 below.
CstmrDrctDbtInitn/PmtInf/PmtTpInf/CtgyPurp/Cd Cd ExternalCategoryPurpose1Code Payment Instruction Payment Type Identifier VARCHAR(3)
CstmrDrctDbtInitn/PmtInf/ReqdColltnDt ReqdColltnDt ISODate Payment Instruction Requested Date DATE
CstmrDrctDbtInitn/PmtInf/CdtrAcct/Id/Othr/Id Id Max34Text ISO Message Document Creditor Account Identifier CHAR(35)
CstmrDrctDbtInitn/PmtInf/CdtrAcct/Id/IBAN IBAN IBAN2007Identifier Payment Instruction Creditor Account IBAN CHAR(34)
CstmrDrctDbtInitn/PmtInf/CdtrAgt/BrnchId/Id Id Max35Text Payment Instruction Creditor Account Branch Identifier CHAR(35)
CstmrDrctDbtInitn/PmtInf/DrctDbtTxInf/InstdAmt InstdAmt ActiveOrHistoricCurrencyAndAmount Payment Instruction Instructed Amount NUMERIC(23,5)
CstmrDrctDbtInitn/PmtInf/DrctDbtTxInf/InstdAmt/@Ccy InstdAmt ActiveOrHistoricCurrencyAndAmount Payment Instruction TransactionCurrency CHAR(3)
CstmrDrctDbtInitn/PmtInf/ DrctDbtTxInf/ DbtrAgt DbtrAgt BranchAndFinancialInstitutionIdentification5 See note 2 below.
CstmrDrctDbtInitn/PmtInf/DrctDbtTxInf/ Dbtr Dbtr PartyIdentification43 See note 2 below.
CstmrDrctDbtInitn/PmtInf/DrctDbtTxInf/ DbtrAcct/Id/Othr/Id Id Max35Text See note 3 below.
CstmrDrctDbtInitn/PmtInf/ DrctDbtTxInf/ InstrForCdtrAgt InstrForCdtrAgt Max140Text Payment Instruction Product ID CHAR(3)

002 消息的数据映射

Data Mapping for pain.002 message

ISO path XML tag ISO data type Data entity Data attribute Data type
CstmrPmtStsRpt/GrpHdr/MsgId MsgId Max35Text ISO Message Document Transaction Message ID CHAR(35)
CstmrPmtStsRpt/GrpHdr/CreDtTm CreDtTm ISODateTime ISO Message Document Message Creation Date DATE
CstmrPmtStsRpt/OrgnlGrpInfAndSts/OrgnlMsgId OrgnlMsgId Max35Text ISO Message Document Message Identifier CHAR(35)
OrgnlGrpInfAndSts/OrgnlMsgNmId OrgnlMsgNmId Max35Text ISO Message Document Message Name ID CHAR(35)
OrgnlGrpInfAndSts/OrgnlNbOfTxs OrgnlNbOfTxs Max15NumericText ISO Message Document Number of Transactions NUMERIC(15,0)
OrgnlPmtInfAndSts/PmtInfSts TxSts TransactionIndividualStatus3Code See note below
OrgnlPmtInfAndSts/TxInfAndSts/TxSts TxSts TransactionIndividualStatus3Code See note below
OrgnlPmtInfAndSts/TxInfAndSts/StsRsnInf/Rsn/Prtry Prtry Max35Text Payment Instruction Lifecycle Status Payment Instruction State Type Id NUMERIC(15,0)

ISO20022报文相关推荐

  1. 大国重器:人民币跨境支付系统CIPS

    提要:直到CIPS上线运行,中国才具备了一个大国所必须具有的所有重器,中国金融业和银行业在经济全球化中不再受制于美国.CIPS将中国地缘经济的前沿,推向了世界的每一个角落,从金融上为中华民族的伟大复兴 ...

  2. 利用dom4j将实体类转换为对应的xml报文

    利用dom4j生成xml报文 目标格式: <?xml version="1.0" encoding="GBK"?><Packet type=& ...

  3. java 报文长度计算_从TcpClient.GetStream()读取而不知道长度 - java

    我正在研究基于TCP的通信协议.我所知 有很多方法可以确定何时结束阅读. 在消息末尾关闭连接 将消息的长度放在数据本身之前 使用分隔符:一些在正常数据中永远不会出现的值(或者总会以某种方式转义) 通常 ...

  4. mqtt session保持 订阅消息_如何使用 MQTT 报文实现发布订阅功能

    MQTT 协议通过交换预定义的MQTT控制报文来通信.下面以 Connect 连接 MQTT 协议基于 TCP/IP 协议,MQTT Broker 和 Client 都有需要有 TCP/IP 地址. ...

  5. SIP协议的传输层原理报文解析(解读rfc3581)(待排版)

    关于rfc3581/rport参数的阐述 一:简述 一般情况下,服务器在接收到request后,应答发向哪里呢?服务器在计算回应应答的算法是一种混合模式,具体说来是这样的: 1,IP:从哪里接收到的就 ...

  6. 报文如何截取时间_5种报文、8种邻居状态机详解OSPF工作原理

    上一章节介绍了OSPF相比RIP具有无环路.路由收敛速度快.可扩展性好的特点.知识卡片 | 链路状态路由协议OSPF凭什么会取代RIP? 我们知道路由协议的最终目的是为了计算最优路由加入路由表来指导I ...

  7. dhcp报文_动态地址分配DHCP,IP地址管理方式及分配原则,一分钟了解下

    一.DHCP简介 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)用来为网络设备动态地分配 IP 地址等网络配置参数. DHCP 采用客户端/服务器 ...

  8. http协议进阶(三)http报文

    一.报文流 http报文是在http应用程序之间发送的数据块(也可称为数据包).这些数据块以一些文本的元信息(meta-information)开头,描述了报文的内容及含义,后面跟着 可选的数据部分, ...

  9. h3c 3600 acl 配置 滤源IP是网关的ARP报文的ACL规则

    h3c 3600 acl 配置 滤源IP是网关的ARP报文的ACL规则 悬赏分:100 - 解决时间:2009-3-8 14:30 星号之间是我在网上查到的华为交换机的配置方法: ********** ...

  10. 如何突破DNS报文的512字节限制

    "DNS协议大家都应该很熟悉,最近有同学问到如何获得UDP承载的超过512字节的DNS报文,借此机会,我们一起了解下DNS协议与报文长度有关的一些细节." 本文将讨论的是DNS协议 ...

最新文章

  1. H3C ER3260通过Console口重装软件修复路由器
  2. java线程开启不了_Java中多线程启动,为什么调用的是start方法,而不是run方法?...
  3. @ResponseBody注解作用
  4. Visual studio 2010出现“error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏”解决方式...
  5. Spark数据分析实战:大型活动大规模人群的检测和疏散
  6. JS - 讨论 - 编码习惯 - JavaScript代码到底要不要写分号?
  7. centos 安装 MatConvNet (gpu)
  8. Tomcat8史上最全优化实践
  9. UVA763 LA5339 Fibinary Numbers【大数】
  10. python 短视频_短视频篇 | Python 带你进行短视频二次创作
  11. 拓端tecdat|R语言使用自组织映射神经网络(SOM)进行客户细分
  12. win10环境eclipse安装包双击无反应的解决方案
  13. 计算机指纹驱动程序,解决Windows 7系统本本指纹识别器问题
  14. excel筛选排序从小到大_EXCEL表格数据从小到大-Excel如何从小到大排列顺序
  15. element UI 学习
  16. Coursera上Python课程(公开课)汇总
  17. [电设训练]幅频特性测试仪
  18. 广告位出售单页HTML源码
  19. Java设计模式——状态模式【State Pattern】
  20. Java网页编程与设计——javascript语言

热门文章

  1. 大数据行业发展前景及岗位方向如何?
  2. adb 连接某个wifi_Android中如何使用WIFI来连接ADB
  3. 如何去除水中的钙镁离子
  4. 流量红利不再,餐企做私域流量要趁早
  5. LINUX下DNS的查看和配置,Linux系统中查看和修改DNS配置的方法
  6. 1079:计算分数加减表达式的值
  7. java实现网站的访问量_如何实现对网站页面访问量的统计(javaweb和php)
  8. javax.validation.ValidationException: HV000028: Unexpected exception during isValid call.出错怎么办
  9. JavaScript学习总结
  10. mysql 两表关联索引_MySQL两表关联的连接表该如何创建索引?