ISO 8583报文
ISO 8583包(简称8583报文),金融交易卡原始电文-交易电文规范,是一个由国际标准化组织为其定义了消息格式和交易流程,以便于不同的系统能够交换交易请求和响应信息。8583报文交融交易信息数据包由消息类型、位图和按位图描述的顺序排列的数据系列组成。
(1).消息类型是一个4位数字的数字型字符,用来描述每一个交易信息的类别和功能,其中前两位数组标明信息类别,如授权信息、金融交易信息、管理信息,等等。在一个金融系统中,信息类型的定义应该是唯一的,无二义性的。网间交易具有不同的信息类型定义时应在交换报文的发送前和接收后完成类型转换处理。
(2).位图由64位或128位二进制位构成,每一位用1或0来表示与该位相对应的数据元存在或不存在。位图的第一位位1时,表示64位图后紧接着一个扩展的64位位图。
(3).数据元指交易中一个数据项的实际内容,数据元在数据包中是否存在及存放位置由位图中的相应位确定、一些数据元有固定的长度,一些数据元为变长。
8583报文=报文长度(2个字节)+TPDU+报文头+报文体。
TPDU说明:长度为10个字节,压缩时用BCD码表示为5个字节长度的数值。
报文头说明:总长度为12字节,压缩时用BCD码表示为6个字节长度的数值。
报文体说明:是由消息类型+位图+数据元组成。
(网上也有比较现成的工具,只要你提供报文,就可以解析出具体报文。)
PS:位图
位图,Bitmap,由64位或128位二进制位构成!例如
位图: 00 20 00 00 00 C0 00 16
转化为二进制: 00000000 00100000 00000000 00000000 00000000 11000000 00000000 000101100 (1位十六进制对应4位二进制)
有效域 : 11域,41域, 42域 ,60域 ,62域 ,63域。
所以,我们需要根据8583报文规范去查找这些数据域的描述(每一域代表什么意思,数据域长度,数据类型等等),就可以得到具体的意思。例如,
2域表示 主账号,
N..19(LLVAR),2个字节的长度值+最大19个字节的主账号,压缩时用BCD码表示的1个字节的长度值+用左靠BCD码表示的最大10个字节的主账号。
下面看一个交易实例。
1.签到请求交易,
报文解析
00 5E 长度
2.签到响应报文
报文解析
POS终端与POS中心之间的交换消息中,各数据元类型如下所列:
00001—— A 字母向左靠,右部多余部分填空格。
00002—— AN 字母和/或数字,左靠,右部多余部分填空格。
00003—— ANS 字母、数字和/或特殊符号,左靠,右部多余部分填空格。
00004—— AS 字母和/或特殊符号,左靠,右部多余部分填空格。
00005—— B 二进制bit位。
00006—— DD 日。
00007—— hh 时。
00008—— LL 可变长域的长度值(二位数)。
00009—— LLL 可变长域的长度值(三位数)。
00010—— MM 月。
00011—— mm 分。
00012—— N 数值,右靠,首位有效数字前充零。若表示金额,则最右二位为角分。
00013—— S 特殊符号。
00014—— ss 秒。
00015—— VAR 可变长域。
00016—— X 借贷符号,在数值之前,D表示借,C表示贷。
00017—— YY 年。
00018—— Z 由ISO 7811和ISO 7813制定的磁条卡第二、三磁道的数据类型。
00019—— CN BCD压缩编码数值。
对可变长数据元,以下例说明:
00020—— 变量XYZ的数据类型为ANS...999(LLLVAR),则表示:该变量中可含字母、数字和特殊符号,最长不超过999个字符,长度由三位数字确定。
00021—— 变量XYZ的数据类型为N...999(LLLVAR),则在压缩时,其长度位用右靠的BCD码压缩,而其后紧随的数字内容用左靠的BCD码压缩。这是为了保证有效内容和其位数中间无缺省填充值。若不为偶数位,左靠的数字内容后补零。由于有长度位表征该域有效内容的长度,因此后补零不会改变该域的真实值。
ISO 8583报文相关推荐
- C解析8583报文55域
以下这段代码是C解析8583报文,我直接从我们系统粘贴出来的,供大家参考.打日志log部分,请自行更改,TAG标签也可以根据你的55域做相应删减. typedef struct { c ...
- 关于8583报文详解
本文章是对8583报文深入的解析,主要是针对于8583报文已经很熟悉的人 我们来看一段8583报文: 0059600045000060011100000001007024048000C08011166 ...
- 第一章 银联8583报文解析
1报文格式定义 POS终端上送POS中心的消息报文结构包括TPDU.报文头和应用数据三部分: -- TPDU说明:长度为10个字节, 压缩时用BCD码表示为5个字节长度的数值. -- 报文头说明:总长 ...
- 8583报文格式介绍
在金融行业中,经常会用到8583报文,那么到底什么是8583报文呢? 8583是这样的,我举一个简单的例子 以64个域的报文来举例 域是什么我也说不清楚,我来举个例子 你可以把它想象为医院放药的抽屉 ...
- 谈谈8583报文的使用及测试
ISO8583报文在金融行业可谓是声名显赫,8583报文是一个国际标准的包格式,其重要性阿堂就不用多说了,网上有很多的介绍,不过对于一个从未接触过8383报文的新手来说,还是很有难度的.它主要是用来解 ...
- 理解类8583报文协议
理解类8583报文协议 编程语言底层之函数执行 https://blog.csdn.net/valada/article/details/79909234 我刚进入金融行业时,就知道了IS08583报 ...
- 银联银行卡交换系统8583报文解析
前言 最近在做8583报文这块解析,也遇到一些坑.下面将会介绍自己学习和了解8583报文这块的经验,希望可以帮到那些刚刚接触8583报文的同学们. 入门 首先我们需要知道的是我们的8583报文是基于P ...
- 《中国银联银联卡受理终端应用规范》笔记(1)银联8583报文解析
0. 前言 阅读的规范版本为20140404修订版 1. 报文格式说明 POS终端上送POS中心的消息报文结构包括TPDU.报文头和应用数据三部分: TPDU 报文头 应用数据 ISO8583 Msg ...
- 8583报文举例解读及推荐阅读
一.推荐阅读 https://www.cnblogs.com/fenglan/p/6088690.html 这篇博客生动形象的解释了8583报文,首先推荐给之前一点都不了解8583报文的同学. 然后参 ...
最新文章
- Android adb常用命令
- “ px”,“ dip”,“ dp”和“ sp”有什么区别?
- 怎么打开外部文件_保存的DWG文件再次用CAD打开时提示文件损坏了怎么办?【AutoCAD教程】...
- spring datasource oracle,spring中2种oracle数据源的配置
- PAT之树:一般树、二叉树、完全二叉树、二叉搜索树、二叉平衡树、并查集
- [2018.10.18 T3] 小 G 的线段树
- 基于springboot旅游系统
- 方法重写与方法重载的区别
- 关闭windows默认共享
- python3图片文字识别
- 今日头条安卓_考察今日头条总部—字节跳动
- Android chrome默认设置Autoplay policy
- android简单视频播放器,推荐用于Android超简单视频播放器的ArtPlayer
- 一篇读懂springboot用echarts实现实时柱状图和饼状图查询
- 勇敢面对人生的苦难,时光不负赶路人
- 《朱子治家格言》原文
- cfd-post 流线很少
- Go语言中的Map和List实现有序Map
- freeswitch通过limit限制cps
- 手把手教你用Arcgis绘制地图【热力图】