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 ...
随机推荐
- schedule和scheduleUpdate
在init()函数里面加上scheduleUpdate(),这样才会每一帧都调用update(). Schedule() 函数有两种方式,一种带时间参数,一种不带时间参数. 带时间参数的,间隔指定时间 ...
- html5 canvas图片渐变
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- 第二百二十天 how can I 坚持
今天如愿去了凤凰岭,比想象中的好多了.山好陡,都没有爬到山顶,下山时山都有点黑了,有点恐怖. 凤凰岭啊.有时间还得再去趟. 下周去八大处.坚持. 看什么时候能把北京这些山爬完,然后 三山五岳. 不爽. ...
- 安装Win7和Office2010并激活
1. 下载Win7 建议安装原版的win7 SP1 64位中文旗舰版,不建议安装Ghost版本,之前用U盘安装Ghost版本一直失败.原版的下载地址为,选其中一个地址下载就行了. ed2k://|fi ...
- Improved logging in Objective-C
[Improved logging in Objective-C] Example of logging the current method and line number. Paste it in ...
- java实现图片与base64字符串之间的转换
package cn.com; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOEx ...
- JS点击任意标签获得该标签属性,以获得ID为例,以及AJAX的异步原理和 $(document).ready()与window.onload加载方法的区别
js代码: //$(document).click(function (e) { // 在页面任意位置点击而触发此事件 // var select = ""; // var i = ...
- hdoj 5326 Work
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5326 #include<stdio.h> #include<cstring> ...
- android 自定义控件二之仿QQ长按删除
自定义Dialog 1.先上个效果图:
- canvas加载gif
http://ernestdelgado.com/public-tests/gifoncanvas/ <!DOCTYPE html><html><head> < ...