当前位置: 首页 > news >正文

SWIFT Payment

SWIFT stands for Society for Worldwide Interbank Financial Telecommunication

SWIFT——环球银行金融电信协会

SWIFT Payment Useful Link

ISO 20022https://www.iso20022.org/https://www.swift.com/standards/iso-20022
MT and MX Equivalence Tableshttps://www2.swift.com/knowledgecentre/rest/v1/publications/stdsmt_mt_mx_eq_tbl/_latest/stdsmt_mt_mx_eq_tbl.pdf
Funds MT to MX Mappinghttps://www2.swift.com/knowledgecentre/publications/stdsmt_funds_mt_mx_map
Standards MThttps://www2.swift.com/knowledgecentre/products/Standards%20MT
Standards MX        https://www2.swift.com/knowledgecentre/products/Standards%20MX
Specific Message Example

Format Spec:

https://www2.swift.com/knowledgecentre/publications/us1m_20220722/?topic=mt101-format-spec.htm

Field Spec:

https://www2.swift.com/knowledgecentre/publications/us1m_20220722/?topic=mt101-field-spec.htm

Message Example:
https://www2.swift.com/knowledgecentre/publications/us1m_20220722?topic=mt101-example-2.htm

ISO15022 and ISO 20022 (MT & MX Basic Knowledge , The Structure Of A SWIFT Message)       https://www.sepaforcorporates.com/swift-for-corporates/read-swift-message-structure/
BIChttps://www2.swift.com/knowledgecentre/publications/usgi_20220722/2.0?topic=con_31411.htm

             Notes: 内部可以使用 SWIFT Translator & SWIFT Validator。

MT Overview

https://www2.swift.com/knowledgecentre/products/Standards%20MT/publications

  • Category 1 - Customer Payments and Cheques
  • Category 2 - Financial Institution Transfers
  • Category 3 - Treasury Markets - Foreign Exchange, Money Markets and Derivatives
  • Category 4 - Collections and Cash Letters
  • Category 5 - Securities Markets
  • Category 6 - Reference Data
  • Category 6 - Treasury Markets - Commodities
  • Category 7 - Documentary Credits and Guarantees/Standby Letters of Credit
  • Category 8 - Travellers Cheques
  • Category 9 - Cash Management and Customer Status
  • Category n - Common Group Messages

MX Overview

https://www2.swift.com/knowledgecentre/products/Standards%20MX/publications

  • Collateral Management
  • Corporate Actions
  • Cross-Border Payments and Reporting Plus (CBPR+)
  • Funds
  • General Meeting
  • Securities Clearing
  • Settlement and Reconciliation
  • Shareholders Identification Disclosure
  • Technical
  • Total Portfolio Valuation Report
  • Triparty Collateral Management

XSD (XML Schema Definition)

XML Schema Definition or XSD is a recommendation by the World Wide Web Consortium (W3C) to describe and validate the structure and content of an XML document.

ISO 20022 Message Definition: https://www.iso20022.org/iso-20022-message-definitions

Securities: https://www.iso20022.org/iso-20022-message-definitions?business-domain=6

Swift Message Structure ISO 15022 and ISO 20022

SWIFT Message types are the format or schema used to send messages to financialinstitutions on the SWIFT network.

The original message types were developed by SWIFT and retrospectively made into an ISOstandard, ISO 15022.

This was later supplemented by a XML based version under ISO 20022

 SWIFT MT Message

A SWIFT MT message consists of the following blocks or segments:

  • {1:} Basic Header Block
  • {2:} Application Header Block
  • {3:} User Header Block
  • {4:} Text Block
  • {5:} Trailer Block

No data is included any data at this point, just the Swift message shell; 

{1:}{2:}{3:}{4:

-}

{5:}

SWIFT Message Structure: Basic Header Block

The Basic Header Block provides information about the logical originator of the message

It can be identified by the starting tag {1:

It will typically consist of something like: {1:F01MYXXCODEZABC1234567890} where:

  • {1: – Identifies the Block (always 1) – i.e. the Basic Header Block
  • F – Indicates the Application Id – in this case, FIN
    • F = FIN (financial application)
    • A = GPA (general purpose application)
    • L = GPA (for logins, and so on)
  • 01 – Indicates the Service Id
    • 01 = FIN/GPA
    • 21 = ACK/NAK
  • MYXXCODE– The Logical Terminal Address – which is typically your BIC 8 (MYXXCODE) + Logical Terminal Code (Z) + Branch Code(ABC)
    • Logical terminal (LT) address. It is fixed at 12 characters; it must not have X in position 9.
    • MYXXCODE is an invalid BIC – the real BIC must be used
  • 1234 – Session Number – It is generated by the user's computer and is padded with zeros 
  • 567890 – Sequence Number – Sequence number that is generated by the user's computer. It is padded with zeros.
  • } – Indicated the end of the Basic Header Block

SWIFT Message Structure: Application Header Block

The Application Header Block is identified by starting tag {2:

There are two types of application headers: Input and Output. Both are fixed-length and continuous with no field delimiter

And will look something like: {2:I101MYXXBANKXJKLU3003} where:

  • {2: – Indicates the start of the Application Header block
  • I – Informs you that you’re in Input mode (i.e. the Sender), O would indicate Output mode – so you would be the recipient of the message
  • 101 – Message type – in this case, an MT101
  • MYXXBANKXJKL – The recipients BIC address, consisting of their BIC (MYXXBANK) + Recipients Logical Terminal Code (X) + Recipients Branch Code (JKL)
    • U = the message priority as follows
      • S = System
      • N=Normal
      • U=Urgent
  • 3 – Delivery Monitoring – Ask your SWIFT contacts or Service Bureau how you should populate this, if at all – Optional
    • 3 = Delivery monitoring field is as follows:

      • 1 = Non delivery warning (MT010)
      • 2 = Delivery notification (MT011)
      • 3 = Both valid = U1 or U3, N2 or N
  • 003 – Non-delivery notification period – again, ask your SWIFT contacts how to populate this, if at all – Optional
    • 003 = Obsolescence period. It specifies when a non-delivery notification is generated as follows:

      • Valid for U = 003 (15 minutes)
      • Valid for N = 020 (100 minutes)
  • } – Indicated the end of the Application Header Block

SWIFT Message Structure: User Header Block

The User Header Block will always starts {3:

And will look something like: {3:{113:SEPA}{108:ILOVESEPA}} where:

  • {3: – Block ID (always 3)Indicates the start of the User Header Block
  • {113:SEPA} This is an optional 4 alphanumeric bank priority code
  • {108:ILOVESEPA} – Indicates the Message User Reference (MUR) value, which can be up to 16 characters, and will be returned in the ACK
  • } – Indicated the end of the User Header Block

SWIFT Message Structure: Text Block

The Text Block will always starts {4:

And will look something like: {4:

Followed by the details of the message you’re sending. In this case, it is a MT101 – as indicated in Application Header Block message type. For this piece, I strongly recommend that you find and read the appropriate SWIFT message specification – in this instance SWIFT MT101 Format Specifications –  and then work with your bank(s) to understand their specific message requirements.

The format, which is variable length and requires use of CRLF as a field delimiter, is as follows:

{4:CRLF
:20:PAYREFTB54302 CRLF
:32A:970103BEF1000000,CRLF
:50:CUSTOMER NAME CRLF
AND ADDRESS CRLF
:59:/123-456-789 CRLF
BENEFICIARY NAME CRLF
AND ADDRESS CRLF
-}

Finally ending with -}

The example above is of type MT100 (Customer Transfer) with only the mandatory fields completed. It is an example of the format of an ISO 7775 message structure. Block 4 fields must be in the order specified for the message type in the appropriate volume of the SWIFT User Handbook.

The format of block 4 field tags is:

:nna:

nn = Numbers

a = Optional letter, which may be present on selected tags

For example:

:20: = Transaction reference number

:58A: = Beneficiary bank

SWIFT Message Structure: Trailer Block

The Trailer Block will always starts {5:

This is usually automatically added by the systemand specified in the proprietary SWIFT implementation

And ends with }

A message always ends in a trailer with the following format:

{5: {MAC:12345678}{CHK:123456789ABC}

This block is for SWIFT system use and contains a number of fields that are denoted by keywords such as the following:

MAC

Message Authentication Code calculated based on the entire contents of the message using a key that has been exchanged with the destination and a secret algorithm. Found on message categories 1,2,4,5,7,8, most 6s and 304.

CHK

Checksum calculated for all message types.

PDE

Possible Duplicate Emission added if user thinks the same message was sent previously

DLM

Added by SWIFT if an urgent message (U) has not been delivered within 15 minutes, or a normal message (N) within 100 minutes.

Overview of SWIFT MT Categories:

Message Type

Description

MT0xx

System Messages

MT1xx

Customer Payments and Cheques

MT2xx

Financial Institution Transfers

MT3xx

Treasury Markets

MT4xx

Collection and Cash Letters

MT5xx

Securities Markets

MT6xx

Treasury Markets - Metals and Syndications

MT7xx

Documentary Credits and Guarantees

MT8xx

Travellers Cheques

MT9xx

Cash Management and Customer Status

All SWIFT messages include the literal "MT" (Message Type). This is followed by a three-digit number that denotes the message category, group and type. Consider the following example, which is an order to buy or sell via a third party:

  • Example 1 : MT304

The first digit (3) represents the category. A category denotes messages that relate to particular financial instruments or services such as Precious Metals (6), Treasury (3), or Travellers Cheques (8). The category denoted by 3 is Treasury Markets.

The second digit (0) represents a group of related parts in a transaction life cycle. The group indicated by 0 is a Financial Institution Transfer.

The third digit (4) is the type that denotes the specific message. There are several hundred message types across the categories. The type represented by 4 is a notification.

  • Example 2 : MT103

The first digit (1) represents the category. A category denotes messages that relate to particular financial instruments or services such as Cash Transfer(1), Treasury (3), or Cash Management (9). The category denoted by 1 is Cash Transfer.

The second digit (0) represents a group of related parts in a transaction life cycle. The group indicated by 0 is a Financial Institution Transfer.

The third digit (3) is the type that denotes the specific message. There are several hundred message types across the categories. The type represented by 3 is a notification.

ISO 20022 MX

A new message type expressed in XML syntax, which is more flexible and easier to implement than the previous generation of message types (MT). These message types are developed in accordance with ISO 20022 standard.

Current syntax is as following: xxxx.nnn.aaa.bb, where

  • xxxx is an alphabetic code in four positions (fixed length) identifying the Business Process,
  • nnn is an alphanumeric code in three positions (fixed length) identifying the Message Functionality,
  • aaa is a numeric code in three positions (fixed length) identifying a particular flavour (variant) of Message Functionality,
  • bb is a numeric code in two positions (fixed length) identifying the version.

Consider the following example: TREA.001.001.02

  • TREA refers to ‘Treasury’
  • 001 refers to ‘NDF opening (notification)’
  • 001 refers to the variant
  • 02 refers to the version message format, in this case version 2 of ‘NDF opening’ type.

SWIFT Standards for MX Messages:

MX Identifier

Description

acmt.xxx.xxx.xx

Account Management

admi.xxx.xxx.xx

Administration

camt.xxx.xxx.xx

Cash Management

defp.xxx.xxx.xx

Derivatives

pacs.xxx.xxx.xx

Payments Clearing and Settlement

pain.xxx.xxx.xx

Payments Initiation

reda.xxx.xxx.xx

Reference Data

seev.xxx.xxx.xx

Securities Events

semt.xxx.xxx.xx

Securities Management

sese.xxx.xxx.xx

Securities Settlement

setr.xxx.xxx.xx

Securities Trade

trea.xxx.xxx.xx

Treasury

tsmt.xxx.xxx.xx

Trade Services Management

相关文章:

SWIFT Payment

SWIFT stands for Society for Worldwide Interbank Financial Telecommunication SWIFT——环球银行金融电信协会 SWIFT Payment Useful Link ISO 20022https://www.iso20022.org/https://www.swift.com/standards/iso-20022MT and MX Equivalence Tableshttps://www2.swift…...

数据结构之红黑树实现(全)

一、红黑树 红黑树是一种自平衡的二叉搜索树,它通过约束节点的颜色和结构来保持平衡。红黑树是由 Rudolf Bayer 在1972年发明的,被认为是一种优秀的平衡树结构,广泛应用于各种数据结构和算法中。 1.红黑树的性质 1. 每个结点是红的或者黑的…...

冷热数据分离

优质博文:IT-BLOG-CN 一、背景 随着机票业务的快速发展,订单量持续增长对业务性能带来影响,需要进行冷热数据分离。目前机票订单模块主要使用Mysql(InnoDB)作为数据库存储,历史订单信息状态修改频率低并占用大量数据库存储空间&…...

朝花夕拾:多模态图文预训练的前世今生

Diffusion Models专栏文章汇总:入门与实战 前言:时间来到2024年,多模态大模型炙手可热。在上一个时代的【多模态图文预训练】宛若时代的遗珠,本文的时间线从2019年到2022年,从BERT横空出世讲到ViT大杀四方,…...

亳州自闭症寄宿制学校,关注孩子的学习和生活

在特殊教育领域,自闭症儿童的教育与成长一直是社会各界关注的焦点。近年来,随着对自闭症认识的加深,越来越多的寄宿制学校应运而生,致力于为这些特殊的孩子提供全面、个性化的教育服务。在安徽亳州,这样的学校正努力为…...

Root me CTF all the day靶场ssrf+redis漏洞

Rootme CTF all the day靶场ssrfredis漏洞 一、环境介绍1、漏洞地址2、漏洞介绍 二、 搭建环境三、测试过程3.1 读取系统文件3.2 探测开放的服务器端口(dict协议)3.3 redis未授权访问3.3.1 利用redis来写ssh密钥(gopher协议写入)3.3.2 利用redis写定时任…...

C#中Json序列化的进阶用法

本文所有json序列化,都使用的Newtonsoft.Json包 1 JsonIgnore 在 Newtonsoft.Json 中,如果你不想将某些属性转换为 JSON 字符串,可以使用多种方法来实现。以下是几种常见的方法: 1.1 使用 [JsonIgnore] 特性 [JsonIgnore] 特性…...

IO相关的常用工具包

常用工具包Commons-io Commons-io是apache开源基金组织提供的一组有关IO操作的开源工具包。 作用:提高IO流的开发效率。 使用步骤: 1、在项目中创建一个文件夹:lib 2、将jar包复制粘贴到lib文件夹 3、右键点击jar包,选择Add as Library--->点击OK …...

Spring Boot集成RBloomFilter快速入门Demo

在大数据处理和缓存优化的场景中,布隆过滤器(Bloom Filter)因其高效的空间利用和快速的查询性能而被广泛应用。RBloomFilter是布隆过滤器的一种实现,通常用于判断一个元素是否存在于一个集合中,尽管它存在一定的误判率…...

布局性能优化

布局使用不当回导致卡顿、掉帧、响应慢等问题 一、布局流程 1、应用侧会根据前端UI描述创建后端的页面节点树,其中包含了处理UI组件属性更新、布局测算、事件处理等逻辑 2、页面节点树创建完成后,UI线程会对每个元素进行测算(Measure&#…...

智云人才推荐与管理系统

1.产品介绍 产品名称:智云人才推荐与管理系统 主要功能: 智能人才匹配引擎 功能描述:利用先进的人工智能算法,根据企业岗位需求(如技能要求、工作经验、教育背景等)自动从海量人才库中筛选并推荐最合适的…...

git在远程分支上新建分支

需求: 在远程分支release/test的基础上创建一个新的分支test_20241009 确保本地仓库的信息是最新的 git fetch origin执行了 git fetch,本地仓库已经包含了 origin/release/test 的最新信息。当基于这个远程跟踪分支创建新分支时,会得到一个包…...

用Python实现的高校教师资格考试题库程序

最近朋友参加了高校教师资格考试,在考试前需要刷题来保证通过。但是教资网站上的题库只有接近考试才更新,并且官方题库的刷题效率还是有点低。 👆官方题库的样子 于是想到了是否能够将官方题库内容记录下来,然后自己创建一个高效…...

OpenVINO基本操作流程

环境配置: conda env list:可以查看有哪些环境 conda activate intel:启动某个环境 pip list:可以查看此环境下都下载了哪些软件包 from openvino.inference_engine import IEcore#从OpenVINO推理引擎中导入IECore类 import numpy as np import cv2 1&…...

Spring MVC 注解详解:@RequestBody,@RequestParam 和 @PathVariable

Spring MVC 提供了一系列注解,用于简化请求数据的获取和处理。了解并掌握这些注解的使用,对于开发RESTful API和处理HTTP请求至关重要。本文将详细介绍 RequestBody,RequestParam 和 PathVariable 注解,并附带具体的代码示例&…...

MySQL 8 中的 sql_mode

MySQL 8 中的 sql_mode 设置:提升数据库安全性与性能 在现代数据库管理中,MySQL 是一个广泛使用的开源关系型数据库。随着数据的增长和复杂性增加,良好的数据库配置显得尤为重要。sql_mode 是 MySQL 提供的一个强大功能,它可以帮…...

13种pod的状态

13种pod的状态 生命周期 Pending:Pod被创建后进入调度阶段,k8s调度器依据pod声明的资源请求量和调度规则,为pod挑选一个适合运行的节点。当集群节点不满足pod调度需求时,pod将会处于pending状态。Running:Pod被调度到节点上,k8s将pod调度到节点上后,进入running状态。S…...

2025考研今天开始预报名!攻略请查收

2025年全国硕士研究生招生考试 今天起开始预报名 有什么流程?需要准备哪些信息? 这份考研报名攻略速查收 ↓↓↓ 全国硕士研究生招生考试报名包括网上报名和网上确认两个阶段: 网上预报名时间为10月9日至10月12日(每日9&#xff1…...

JS中的Promise经典题目解析

这段代码很有代表性,涵盖了多个 JavaScript 知识点,特别是不同异步操作的执行优先级。 async function async1() {console.log(async1 start);await async2();console.log(async1 end); }async function async2() {console.log(async2); }console.log(s…...

【机器学习】金融预测 —— 风险管理与股市预测

我的主页:2的n次方_ 在金融领域,机器学习(ML)已经成为了不可或缺的工具。金融预测,尤其是风险管理和股市预测,涉及海量数据和复杂模式的分析,而这些正是机器学习擅长处理的领域。通过分析历…...

PHP和Node.js哪个更爽?

先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户&#xff0c;但你不希望用 root 权限运行 ns-3&#xff08;这是对的&#xff0c;ns3 工具会拒绝 root&#xff09;&#xff0c;你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案&#xff1a;创建非 roo…...

什么是EULA和DPA

文章目录 EULA&#xff08;End User License Agreement&#xff09;DPA&#xff08;Data Protection Agreement&#xff09;一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA&#xff08;End User License Agreement&#xff09; 定义&#xff1a; EULA即…...

【HTTP三个基础问题】

面试官您好&#xff01;HTTP是超文本传输协议&#xff0c;是互联网上客户端和服务器之间传输超文本数据&#xff08;比如文字、图片、音频、视频等&#xff09;的核心协议&#xff0c;当前互联网应用最广泛的版本是HTTP1.1&#xff0c;它基于经典的C/S模型&#xff0c;也就是客…...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问&#xff08;基础概念问题&#xff09; 1. 请解释Spring框架的核心容器是什么&#xff1f;它在Spring中起到什么作用&#xff1f; Spring框架的核心容器是IoC容器&#…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)

推荐 github 项目:GeminiImageApp(图片生成方向&#xff0c;可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...

Java求职者面试指南:计算机基础与源码原理深度解析

Java求职者面试指南&#xff1a;计算机基础与源码原理深度解析 第一轮提问&#xff1a;基础概念问题 1. 请解释什么是进程和线程的区别&#xff1f; 面试官&#xff1a;进程是程序的一次执行过程&#xff0c;是系统进行资源分配和调度的基本单位&#xff1b;而线程是进程中的…...

如何更改默认 Crontab 编辑器 ?

在 Linux 领域中&#xff0c;crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用&#xff0c;用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益&#xff0c;允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)

引言 在人工智能飞速发展的今天&#xff0c;大语言模型&#xff08;Large Language Models, LLMs&#xff09;已成为技术领域的焦点。从智能写作到代码生成&#xff0c;LLM 的应用场景不断扩展&#xff0c;深刻改变了我们的工作和生活方式。然而&#xff0c;理解这些模型的内部…...