iso8583报文自学笔记
一、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 |
测试交易状态 |
|
处理要求编码 |
处理要求说明 |
|
0 |
无处理要求 |
|
1 |
下传终端磁条卡参数 |
|
2 |
上传终端磁条卡状态信息 |
|
3 |
重新签到 |
|
4 |
通知终端发起更新公钥信息操作 |
|
5 |
下载终端IC卡参数 |
|
6 |
TMS参数下载 |
5、保留使用:暂时不用,填全“0”。
—— 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报文自学笔记的更多相关文章
- ISO8583报文协议
最开始时,金融系统只有IBM这些大的公司来提供设备,象各种主机与终端等.在各个计算机设备之间,需要交换数据.我们知道数据是通过网络来传送的,而在网络上传送的数据都是基于0或1这样的二进制数据,如果没有 ...
- 《Linux内核设计与实现》课本第四章自学笔记——20135203齐岳
<Linux内核设计与实现>课本第四章自学笔记 进程调度 By20135203齐岳 4.1 多任务 多任务操作系统就是能同时并发的交互执行多个进程的操作系统.多任务操作系统使多个进程处于堵 ...
- 《Linux内核设计与实现》课本第三章自学笔记——20135203齐岳
<Linux内核设计与实现>课本第三章自学笔记 进程管理 By20135203齐岳 进程 进程:处于执行期的程序.包括代码段和打开的文件.挂起的信号.内核内部数据.处理器状态一个或多个具有 ...
- 《Linux内核设计与实现》课本第十八章自学笔记——20135203齐岳
<Linux内核设计与实现>课本第十八章自学笔记 By20135203齐岳 通过打印来调试 printk()是内核提供的格式化打印函数,除了和C库提供的printf()函数功能相同外还有一 ...
- python自学笔记
python自学笔记 python自学笔记 1.输出 2.输入 3.零碎 4.数据结构 4.1 list 类比于java中的数组 4.2 tuple 元祖 5.条件判断和循环 5.1 条件判断 5.2 ...
- (转载)解析ISO8583报文实例
本篇文章参考了中国银联POS终端规范,所以如有不明白的可以去我的资源里面下载. 现在我们有ISO8583报文如下(十六进制表示法): 60 00 03 00 00(前五个字节为TPDU) 60 31 ...
- ssh自学笔记
Ssh自学笔记 Ssh简介 传统的网络服务程序,如:ftp.pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据.而且,这些服务 ...
- JavaScript高级程序设计之自学笔记(一)————Array类型
以下为自学笔记. 一.Array类型 创建数组的基本方式有两种: 1.1第一种是使用Array构造函数(可省略new操作符). 1.2第二种是使用数组字面量表示法. 二.数组的访问 2.1访问方法 在 ...
- vue 自学笔记记录
vue 自学笔记(一): 知识内容: 安装vue ,创建vue实例,安装第一个组件,单项数据流 https://www.cnblogs.com/baili-luoyun/p/10763163.htm ...
随机推荐
- cocos2d-html5对话界面设计
"use strict" var _dialogMsgBottom = null; var _dialogMsgTop = null; ; var _dialogConfig = ...
- Latex 横排图片
\begin{figure} \begin{minipage}[t]{0.5\linewidth} \centering \includegraphics[width=2.2in]{figure/an ...
- 转】MyEclipse使用总结——MyEclipse中配置WebLogic12c服务器
原博文出自于:http://www.cnblogs.com/xdp-gacl/p/4142495.html 感谢! MyEclipse中配置WebLogic12c服务器的步骤如下: [Window]→ ...
- 负载均衡--大型在线系统实现的关键(上篇)(再谈QQ游戏百万人在线的技术实现)
http://blog.csdn.net/sodme/article/details/393165 —————————————————————————————————————————————— 本文作 ...
- oracle 去掉空格
trim(value) 去掉左右空格 ltrim(value) 去掉左空格 rtrim(value) 去掉右空格
- HDU 5432 Rikka with Tree (BestCoder Round #53 (div.2))
http://acm.hdu.edu.cn/showproblem.php?pid=5423 题目大意:给你一个树 判断这棵树是否是独特的 一颗树是独特的条件:不存在一颗和它本身不同但相似的树 两颗树 ...
- iOS Ping++前端集成支付
直接上代码 /* 获取订单charge 1.buyerId 买家ID 2.sellerId 卖家ID 3.liveId 直播间ID 4.goodCount 商品数量 5.status ...
- hdoj 5328 Problems killer
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5328 #include<stdio.h> #include<algorithm> ...
- Castle IOC容器内幕故事(上)
主要内容 1.WindsorContainer分析 2.MicroKernel分析 3.注册组件流程 一.WindsorContainer分析 WindsorContainer是Castle的IOC容 ...
- ADT下开发环境的配置--个人配置啦 Eclipse Color Themes
一. Eclipse Color Themes的安装 首先 这个ADT没有Marketplace Client 需要装一个, 节选自: http://blog.csdn.net/liu37226700 ...