iso8583报文自学笔记

时间:2022-11-02 19:06:19

一、8583报文组成

TPDU

报文头

应用数据

ISO8583 Msg

ID

目的

地址

源地址

应用类别定义

软件

总版本号

终端

状态

处理

要求

保留使用(软件分版本号)

交易数据

60H

NN NN

NN NN

N2

N2

N1

N1

N6

不定长度

2字节的报文长度+5字节的tpdu+6字节的报文头+2字节的应用数据说明+(第14字节为位图的第一位,第14位若小于8,位图8字节,若大于等于8,位图16个字节)+各个域。

二、tpdu详解

TPDU:长度为5个字节,共10位编码,前两位为TPDN ID 一般为“60”,中间4位为TPDU 目的地址,最后4位为TPDU 源地址为“0000”,默认值为“6000030000”。

三、报文头详解

总长度为12字节,压缩时用BCD码表示为6个字节长度的数值

1、应用类别定义:

60:磁条卡金融支付类

61:IC卡金融支付类

62:磁条卡增值业务类支付

63:IC卡增值业务类支付

2、软件版本号

软件版本号

说   明

10

2001年人民银行POS规范之前版本

11

2001年人民银行POS规范版本

21

2002年银联POS规范版本

22

2004年银联POS规范版本

3、终端状态

终端状态

含义

0

正常交易状态

1

测试交易状态

 
4、处理要求

处理要求编码

处理要求说明

0

无处理要求

1

下传终端磁条卡参数

2

上传终端磁条卡状态信息

3

重新签到

4

通知终端发起更新公钥信息操作

5

下载终端IC卡参数

6

TMS参数下载

5、保留使用:暂时不用,填全“0”。

四、应用数据详解
所有域使用查看《中国银联pos终端规范》。
五、符号定义

——     M   强制域(Mandatory),此域在该消息中必须出现否则将被认为消息格式出错。

——     C   条件域(Conditional),此域在一定条件下出现在该消息中,具体的条件请参考备注说明。

——     O   选用域(Optional),此域在该消息中由发送方自选。。

——     Space   此域在该种消息中不出现。

——     A       字母a-z

——     n       数字0-9

——     s       特殊字符

——     an      字母和数字字符

——     ans     字母、数字和特殊字符

——     MM      月

——     DD      日

——     YY      年

——     hh      小时

——     mm      分

——     ss      秒

——     LL      允许的最大长度为99

——     LLL     允许的最大长度为999

——     VAR     可变长度域

——     b       数据的二进制表示,后跟数字表示位(bit)的个数

——     B       用于表示变长的二进制数,后跟数字表示二进制数据所占字节(Byte)的个数

——     z       按GB/T 15120和GB/T 17552的2、3磁道编码

cn          BCD压缩编码数值

六、对可变长数据元,以下例说明:

——     变量XYZ的数据类型为ANS...999(LLLVAR),则表示:该变量中可含字母、数字和特殊符号,最长不超过999个字符,长度由三位数字确定。

——     变量XYZ的数据类型为N...999(LLLVAR),则在压缩时,其长度位用右靠的BCD码压缩,而其后紧随的数字内容用左靠的BCD码压缩。这是为了保证有效内容和其位数中间无缺省填充值。若不为偶数位,左靠的数字内容后补零。由于有长度位表征该域有效内容的长度,因此后补零不会改变该域的真实值。

本文档中声明的压缩变量属性是针对POS终端与POS中心之间的消息,POS中心与任何金融机构之间的消息将全部采用ASCII码且不压缩的格式。

 
 
 
 

iso8583报文自学笔记的更多相关文章

  1. ISO8583报文协议

    最开始时,金融系统只有IBM这些大的公司来提供设备,象各种主机与终端等.在各个计算机设备之间,需要交换数据.我们知道数据是通过网络来传送的,而在网络上传送的数据都是基于0或1这样的二进制数据,如果没有 ...

  2. 《Linux内核设计与实现》课本第四章自学笔记——20135203齐岳

    <Linux内核设计与实现>课本第四章自学笔记 进程调度 By20135203齐岳 4.1 多任务 多任务操作系统就是能同时并发的交互执行多个进程的操作系统.多任务操作系统使多个进程处于堵 ...

  3. 《Linux内核设计与实现》课本第三章自学笔记——20135203齐岳

    <Linux内核设计与实现>课本第三章自学笔记 进程管理 By20135203齐岳 进程 进程:处于执行期的程序.包括代码段和打开的文件.挂起的信号.内核内部数据.处理器状态一个或多个具有 ...

  4. 《Linux内核设计与实现》课本第十八章自学笔记——20135203齐岳

    <Linux内核设计与实现>课本第十八章自学笔记 By20135203齐岳 通过打印来调试 printk()是内核提供的格式化打印函数,除了和C库提供的printf()函数功能相同外还有一 ...

  5. python自学笔记

    python自学笔记 python自学笔记 1.输出 2.输入 3.零碎 4.数据结构 4.1 list 类比于java中的数组 4.2 tuple 元祖 5.条件判断和循环 5.1 条件判断 5.2 ...

  6. (转载)解析ISO8583报文实例

    本篇文章参考了中国银联POS终端规范,所以如有不明白的可以去我的资源里面下载. 现在我们有ISO8583报文如下(十六进制表示法): 60 00 03 00 00(前五个字节为TPDU) 60 31 ...

  7. ssh自学笔记

    Ssh自学笔记 Ssh简介 传统的网络服务程序,如:ftp.pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据.而且,这些服务 ...

  8. JavaScript高级程序设计之自学笔记(一)————Array类型

    以下为自学笔记. 一.Array类型 创建数组的基本方式有两种: 1.1第一种是使用Array构造函数(可省略new操作符). 1.2第二种是使用数组字面量表示法. 二.数组的访问 2.1访问方法 在 ...

  9. vue 自学笔记记录

    vue 自学笔记(一): 知识内容:  安装vue ,创建vue实例,安装第一个组件,单项数据流 https://www.cnblogs.com/baili-luoyun/p/10763163.htm ...

随机推荐

  1. smarty中使用truncate出现乱码,用mb&lowbar;substr解决

  2. Windows 7 IIS HTTP 错误 500&period;21 – Internal Server Error 解决方法

    错误状况: 下面内容来自网络,自己也另有补充 原因:在安装Framework v4.0之后,再启用IIS,导致Framework没有完全安装 解决办法:开始->所有程序->附件->鼠 ...

  3. js 鼠标事件的抓取代码

    js 鼠标事件的抓取代码,分享给大家. 1.通过ele.setCapture();设置鼠标事件的抓取. 2,应用可以通过单.双击文字来获取时间. <html> <head> & ...

  4. 【转】为什么我说 Android 很糟糕

    http://zhuanlan.zhihu.com/wooyun/19879016 Android 的安全问题一直被吐槽,包括不安全的APP市场.上次的远程命令执行漏洞.还有它的权限机制,总之一团糟, ...

  5. SpringBoot开发案例之mail中文附件乱码

    前一段时间做过一个邮件发送的服务,以前大体都测试过,文本.图片.附件都是没有问题的,可有同事反应发送的附件名称有中文乱码,类似如下截图展示: 咋一看不像乱码,抱着试试看的态度,为MimeMessage ...

  6. c语言,数据结构,链表的一些操作总结

    下面是自己的一些学习操作以及总结,能用我会很开心,有不足之处,欢迎大家提出宝贵的意见! c语言链表是一种基本的数据结构,与顺序表一样属于线性表,但是顺序表在内存中的存储单元是连续的,这样就对内存的要求 ...

  7. ServletContextListener作用

    ServletContext 被 Servlet 程序用来与 Web 容器通信.例如写日志,转发请求.每一个 Web 应用程序含有一个Context,被Web应用内的各个程序共享.因为Context可 ...

  8. VS2010 无法启动程序,系统找不到指定的文件

    1>------ 已启动生成: 项目: work, 配置: Debug Win32 ------1>生成启动时间为 2018/1/9 14:01:16 下午.1>Initialize ...

  9. 观看杨老师&lpar;杨旭&rpar;Asp&period;Net Core MVC入门教程记录

    观看杨老师(杨旭)Asp.Net Core MVC入门教程记录 ASP.NET Core MVC入门 Asp.Net Core启动和配置 Program类,Main方法 Startup类 依赖注入,I ...

  10. http协议的发展历史

    在最早的时候,第一个定稿的http协议是http/0.9版本,在这个版本里面,http协议,它的内容,非常非常的简单 只有一个命令,就是GET 对应的就是我们现在经常用到的get请求,post请求,这 ...