Iso-8583协议与磁条卡
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2012-4-21
ISO-8583
将打包压缩的数据发送 给下一层
ISO-8583的下一层
Copyright 2005 Prochip Electronics Co,ltd. All Rights Reserved. , 2 Not to be reproduced by any means without prior written consent.
2012-4-21
磁条卡的时序图
Copyright 2005 Prochip Electronics Co,ltd. All Rights Reserved. , 14 Not to be reproduced by any means without prior written consent.
Copyright 2005 Prochip Electronics Co,ltd. All Rights Reserved. , 7 Not to be reproduced by any means without prior written consent.
2012-4-21
表1 第1磁道信息格式
Copyright 2005 Prochip Electronics Co,ltd. All Rights Reserved. , 4 Not to be reproduced by any means without prior written consent.
2012-4-21
报文得内容(重点是如下几个问题):
nottobereproducedbyanymeanswithoutpriorwrittenconsent201851表1第1磁道信息格式字段d动态s静态字段长度备注序号名称1起始标志s1见712格式代码s299见723主账号s1319见734字段分隔符s1见745姓名s226见756字段分隔符s1见747失效日期s4yymm见768服务代码s3见779附加数据s可变见7810结束标志s1
1:磁条卡外部的硬件逻辑 1:轨道二的数据线 2:轨道三的数据线 3:时钟线 4:卡在线 5:地
Copyright 2005 Prochip Electronics Co,ltd. All Rights Reserved. , 13 Not to be reproduced by any means without prior written consent.
}ISO_8583
Copyright 2005 Prochip Electronics Co,ltd. All Rights Reserved. , 3 Not to be reproduced by any means without prior written consent.
2012-4-21
Copyright 2005 Prochip Electronics Co,ltd. All Rights Reserved. , 12 Not to be reproduced by any means without prior written consent.
2012-4-21
磁条卡软件的实现
Copyright 2005 Prochip Electronics Co,ltd. All Rights Reserved. , 10 Not to be reproduced by any means without prior written consent.
2012-4-21
7 服务代码(SC) 用途:标明银行卡可使用的服务类型。 格式:3位数字,其中第一位为交换控制符。 内容:交换控制符可在2-9间选用。 2——限制在国内、跨系统交换 3——限制在省内、跨系统交换 4——限制在市内、跨系统交换 5——限制在国内系统内交换 6——限制在省内系统内交换 7——限制在市内系统内交换 8——管理卡,不适用于交换 9——系统测试卡。 服务代码的后两位在下列区域中分配: 00~49——由国际标准化组织分配和发布 50~59——由国内标准化相关组织分配和发布 60~99——由发卡行酌情使用。 目前后两位已分配的服务代码是: 01——无限制 02——无自动柜员机服务 03——只有自动柜员机服务 10——无现金预支 11——既无现金预支又无自动柜员机服务 20——要求肯定授权:所有交易应由发卡行或代理人认可 41——集成电路卡:无限制 43——集成电路卡:只有自动柜员机服务。
Copyright 2005 Prochip Electronics Co,ltd. All Rights Reserved. , 6 Not to be reproduced by any means without prior written consent.
2012-4-21
磁条卡的原理
磁条 银行卡磁条的特性、编码技术及编码字符集应符合 GB/T 15120.2中的有关要求。 一: 第1磁道的信息格式 第1磁道数据编码最大记录长度为79个字符,数据 字段的顺序和长度应与表1给出的第1磁道信息格式一致。 第1磁道为只读磁道。 二: 第2磁道的信息格式 第2磁道数据编码最大记录长度为40个字符,数据 字段的顺序和长度应与表2给出的第2磁道信息格式一致。 第2磁道为只读磁道。
Copyright 2005 Prochip Electronics Co,ltd. All Rights Reserved. , 8 Not to be reproduced by any means without prior written consent.
ห้องสมุดไป่ตู้
2012-4-21
表2 第2磁道信息格式
ISOISO-8583
Iso-8583得报文: 每个交易报文包含报文头和报文内容组 成。 报文头[TPDU]为5字节构成如下:报文 字节构成如下: 报文头 为 字节构成如下 类型ID[1字节 源设备地址 字节 目的 字节]+源设备地址 字节]+目的 类型 字节 源设备地址[2字节 设备地址[2字节 ; 设备地址 字节]; 字节 报文内容都由三部分按以下顺序组成: 报文内容都由三部分按以下顺序组成: 消息类型标识,位图和数据元素。 消息类型标识,位图和数据元素。
Copyright 2005 Prochip Electronics Co,ltd. All Rights Reserved. , 11 Not to be reproduced by any means without prior written consent.
2012-4-21
8 附加数据 用途:容纳对银行卡发卡机构有意义的 任意数据。 格式:可变,但应保证该磁道字符总数 不得超过最大编码长度。 内容:具体内容由发卡行自定。 9 结束标记(ETX) 用途:标明磁道上有意义数据的结束。 格式:1位字符。 内容:“?”。 10 纵向冗余校验符(LRC)。 用途/内容:见GB/T 15120.2。 格式:1个字符。
ISO-8583采用的数据机构 ISO-8583采用的数据机构
typedef struct {
int domain_flag;//域类型 0:char,1:int,2:Binary; char *domain_name;//域名 int domain_byte_length;//数据元初始的长度(如为定长,则为此值,如为不 定长,则为最大长度); int domain_real_length;//数据域的实际长度(如果为变长则存放的是变长+ 数据字节的长度) int length_flag;//变长标志0:否,2:2位变长,3:3位变长 int domain_data_flag;//数据元类型0:a {字母[a-z,A-Z],1 元素 = 1 字节}, //1:an{字母[a-z,A-Z],数字[1-9],1元素 = 1 字节}, //2:ans{字母,数字和特殊字[所有字] 1元素 = 1字 节}, //3:b {二进制数, 1元素 = 1 字节}, //4:n {数字数据,2 元素 = 1字节}, //5:z {按GB/T 15120和GB/T 17552的2、3磁道编码, 2 元素 = 1 字节} char *domain_data_value;//数据元的值 int attribute; /*保留*/
字段 D=动态 S=静态 序号 名称 “;”,见7.1 见7.3 “=”,见7.4 YYMM,见7.6 见7.7 见7.8 “?”,见7.9 见7.10 字段长度 备注 1 2 3 4 5 6 7 8 起始标志 主账号 字段分隔符 失效日期 服务代码 附加数据 结束标志 纵向冗余校验位 S S S S S S S S 1 13-19 1 4 3 可变 1 1
字段 D=动态 S=静态 序号 1 2 3 4 5 6 7 8 9 10 11 名称 起始标志 格式代码 主账号 字段分隔符 姓名 字段分隔符 失效日期 服务代码 附加数据 结束标志 纵向冗余校验位 S S S S S S S S S S S 1 2 13-19 1 2-26 1 4 3 可变 1 1 “%”,见7.1 “99”,见7.2 见7.3 “∧”,见7.4 见7.5 “∧”,见7.4 YYMM,见7.6 见7.7 见7.8 “?”,见7.9 见7.10 字段长度 备注
Iso-8583协议 Iso-8583协议
1
ISO-8583得流程 ISO-8583得流程
将上位机中得 数据发给ISO8583数据结构 1:打包 1:把数据放入数据结构中 上位机 2:对数据进行检验并对 位图进行处理 3:对数据压缩并送出去 2:解包 获得ISO8583解包得 数据 1:获得数据 2:对数据按8583格式 进行解包 将数据发送给8583进行 处理
2012-4-21
3:数据元素 1:数据元素的压缩 1:如果数据元素为数字,则才用压缩的BCD码来压缩数据,以便于 在网络中传输 2:如果为字母用ASCII 码表示的字节的数 2:数据元素的定长与不定长 1:如为定长,则用压缩的BCD码来处理, 2:如为不定长,则才用字节的长度值+ 字节的数据(其中长度值 采用压缩的BCD码,而字节的数据如为字母则才用ASCII码来表 示,如为数字则也用压缩的BCD码)
0 1
0
1
0
为第三个域中有数据
Copyright 2005 Prochip Electronics Co,ltd. All Rights Reserved. , 5 Not to be reproduced by any means without prior written consent.
…...
1:消息类型标识 每个消息类型标识时报文内容得头. 占用四个字节,在打包时用压缩得BCD码.向外传输 2:位图 位图是8583包的灵魂,它是打包解包确定字段域的关键, 而了解每个字段域 的属性则是填写数据的基础, 在此中用8个字节(1个字节为8位,则为8*8=64) 设置其后64位的域.8583通过检查位图中的1的位置可以确定其后的数据的域, 然后根据域中规定的长度来取数据,这样解包就很方便了,打包则为相反.首先 检查域中有无数据,如有,则在相应的位图中的位置放置1,来标识此域中有数据 打包与解包: 为第1个域中有数据
Copyright 2005 Prochip Electronics Co,ltd. All Rights Reserved. , 9 Not to be reproduced by any means without prior written consent.
2012-4-21
字段说明
1 起始标志(STX) 用途:标明数据的开始。 格式:1个字符。 内容:第1磁道为“%”,第2磁道和第3磁道为“;”。 2 格式代码(FC) 用途:标明该磁道的信息格式类型。 格式:2位数字。 内容:“99”。 3 主账号(PAN) 用途:标明可以处理交易的发卡机构和持卡者。 格式:13至19个字符。 内容:见JR/T 0008,其中校验数算法见附录A。 4 字段分隔符(FS) 用途:标明前一字段的结束。 格式:1个字符。 内容:第1磁道为“∧”,第2磁道和第3磁道为“=”。 5 姓名(NM) 用途:标明持卡者的姓氏、名字、称谓等。 格式:2至26个字符。 内容:由姓氏、姓氏分隔符、名字或首写字母、分隔符(如需要时)、中间名或首写 字母、结尾圆 点(当其后为称谓时)、称谓组成。最小编码数据应为一个 字母字符(如姓氏)加上姓氏分隔 符。 6 失效日期(ED) 用途:表示卡失效的日期。 格式:YYMM形式的4位数字,其中: YY——卡失效年度的后2个字符。 MM——年度内月份的顺序号。规定在该月份的最后一天后,卡失效。 当YYMM为0000时,表示此卡无失效日期。
ISO-8583
将打包压缩的数据发送 给下一层
ISO-8583的下一层
Copyright 2005 Prochip Electronics Co,ltd. All Rights Reserved. , 2 Not to be reproduced by any means without prior written consent.
2012-4-21
磁条卡的时序图
Copyright 2005 Prochip Electronics Co,ltd. All Rights Reserved. , 14 Not to be reproduced by any means without prior written consent.
Copyright 2005 Prochip Electronics Co,ltd. All Rights Reserved. , 7 Not to be reproduced by any means without prior written consent.
2012-4-21
表1 第1磁道信息格式
Copyright 2005 Prochip Electronics Co,ltd. All Rights Reserved. , 4 Not to be reproduced by any means without prior written consent.
2012-4-21
报文得内容(重点是如下几个问题):
nottobereproducedbyanymeanswithoutpriorwrittenconsent201851表1第1磁道信息格式字段d动态s静态字段长度备注序号名称1起始标志s1见712格式代码s299见723主账号s1319见734字段分隔符s1见745姓名s226见756字段分隔符s1见747失效日期s4yymm见768服务代码s3见779附加数据s可变见7810结束标志s1
1:磁条卡外部的硬件逻辑 1:轨道二的数据线 2:轨道三的数据线 3:时钟线 4:卡在线 5:地
Copyright 2005 Prochip Electronics Co,ltd. All Rights Reserved. , 13 Not to be reproduced by any means without prior written consent.
}ISO_8583
Copyright 2005 Prochip Electronics Co,ltd. All Rights Reserved. , 3 Not to be reproduced by any means without prior written consent.
2012-4-21
Copyright 2005 Prochip Electronics Co,ltd. All Rights Reserved. , 12 Not to be reproduced by any means without prior written consent.
2012-4-21
磁条卡软件的实现
Copyright 2005 Prochip Electronics Co,ltd. All Rights Reserved. , 10 Not to be reproduced by any means without prior written consent.
2012-4-21
7 服务代码(SC) 用途:标明银行卡可使用的服务类型。 格式:3位数字,其中第一位为交换控制符。 内容:交换控制符可在2-9间选用。 2——限制在国内、跨系统交换 3——限制在省内、跨系统交换 4——限制在市内、跨系统交换 5——限制在国内系统内交换 6——限制在省内系统内交换 7——限制在市内系统内交换 8——管理卡,不适用于交换 9——系统测试卡。 服务代码的后两位在下列区域中分配: 00~49——由国际标准化组织分配和发布 50~59——由国内标准化相关组织分配和发布 60~99——由发卡行酌情使用。 目前后两位已分配的服务代码是: 01——无限制 02——无自动柜员机服务 03——只有自动柜员机服务 10——无现金预支 11——既无现金预支又无自动柜员机服务 20——要求肯定授权:所有交易应由发卡行或代理人认可 41——集成电路卡:无限制 43——集成电路卡:只有自动柜员机服务。
Copyright 2005 Prochip Electronics Co,ltd. All Rights Reserved. , 6 Not to be reproduced by any means without prior written consent.
2012-4-21
磁条卡的原理
磁条 银行卡磁条的特性、编码技术及编码字符集应符合 GB/T 15120.2中的有关要求。 一: 第1磁道的信息格式 第1磁道数据编码最大记录长度为79个字符,数据 字段的顺序和长度应与表1给出的第1磁道信息格式一致。 第1磁道为只读磁道。 二: 第2磁道的信息格式 第2磁道数据编码最大记录长度为40个字符,数据 字段的顺序和长度应与表2给出的第2磁道信息格式一致。 第2磁道为只读磁道。
Copyright 2005 Prochip Electronics Co,ltd. All Rights Reserved. , 8 Not to be reproduced by any means without prior written consent.
ห้องสมุดไป่ตู้
2012-4-21
表2 第2磁道信息格式
ISOISO-8583
Iso-8583得报文: 每个交易报文包含报文头和报文内容组 成。 报文头[TPDU]为5字节构成如下:报文 字节构成如下: 报文头 为 字节构成如下 类型ID[1字节 源设备地址 字节 目的 字节]+源设备地址 字节]+目的 类型 字节 源设备地址[2字节 设备地址[2字节 ; 设备地址 字节]; 字节 报文内容都由三部分按以下顺序组成: 报文内容都由三部分按以下顺序组成: 消息类型标识,位图和数据元素。 消息类型标识,位图和数据元素。
Copyright 2005 Prochip Electronics Co,ltd. All Rights Reserved. , 11 Not to be reproduced by any means without prior written consent.
2012-4-21
8 附加数据 用途:容纳对银行卡发卡机构有意义的 任意数据。 格式:可变,但应保证该磁道字符总数 不得超过最大编码长度。 内容:具体内容由发卡行自定。 9 结束标记(ETX) 用途:标明磁道上有意义数据的结束。 格式:1位字符。 内容:“?”。 10 纵向冗余校验符(LRC)。 用途/内容:见GB/T 15120.2。 格式:1个字符。
ISO-8583采用的数据机构 ISO-8583采用的数据机构
typedef struct {
int domain_flag;//域类型 0:char,1:int,2:Binary; char *domain_name;//域名 int domain_byte_length;//数据元初始的长度(如为定长,则为此值,如为不 定长,则为最大长度); int domain_real_length;//数据域的实际长度(如果为变长则存放的是变长+ 数据字节的长度) int length_flag;//变长标志0:否,2:2位变长,3:3位变长 int domain_data_flag;//数据元类型0:a {字母[a-z,A-Z],1 元素 = 1 字节}, //1:an{字母[a-z,A-Z],数字[1-9],1元素 = 1 字节}, //2:ans{字母,数字和特殊字[所有字] 1元素 = 1字 节}, //3:b {二进制数, 1元素 = 1 字节}, //4:n {数字数据,2 元素 = 1字节}, //5:z {按GB/T 15120和GB/T 17552的2、3磁道编码, 2 元素 = 1 字节} char *domain_data_value;//数据元的值 int attribute; /*保留*/
字段 D=动态 S=静态 序号 名称 “;”,见7.1 见7.3 “=”,见7.4 YYMM,见7.6 见7.7 见7.8 “?”,见7.9 见7.10 字段长度 备注 1 2 3 4 5 6 7 8 起始标志 主账号 字段分隔符 失效日期 服务代码 附加数据 结束标志 纵向冗余校验位 S S S S S S S S 1 13-19 1 4 3 可变 1 1
字段 D=动态 S=静态 序号 1 2 3 4 5 6 7 8 9 10 11 名称 起始标志 格式代码 主账号 字段分隔符 姓名 字段分隔符 失效日期 服务代码 附加数据 结束标志 纵向冗余校验位 S S S S S S S S S S S 1 2 13-19 1 2-26 1 4 3 可变 1 1 “%”,见7.1 “99”,见7.2 见7.3 “∧”,见7.4 见7.5 “∧”,见7.4 YYMM,见7.6 见7.7 见7.8 “?”,见7.9 见7.10 字段长度 备注
Iso-8583协议 Iso-8583协议
1
ISO-8583得流程 ISO-8583得流程
将上位机中得 数据发给ISO8583数据结构 1:打包 1:把数据放入数据结构中 上位机 2:对数据进行检验并对 位图进行处理 3:对数据压缩并送出去 2:解包 获得ISO8583解包得 数据 1:获得数据 2:对数据按8583格式 进行解包 将数据发送给8583进行 处理
2012-4-21
3:数据元素 1:数据元素的压缩 1:如果数据元素为数字,则才用压缩的BCD码来压缩数据,以便于 在网络中传输 2:如果为字母用ASCII 码表示的字节的数 2:数据元素的定长与不定长 1:如为定长,则用压缩的BCD码来处理, 2:如为不定长,则才用字节的长度值+ 字节的数据(其中长度值 采用压缩的BCD码,而字节的数据如为字母则才用ASCII码来表 示,如为数字则也用压缩的BCD码)
0 1
0
1
0
为第三个域中有数据
Copyright 2005 Prochip Electronics Co,ltd. All Rights Reserved. , 5 Not to be reproduced by any means without prior written consent.
…...
1:消息类型标识 每个消息类型标识时报文内容得头. 占用四个字节,在打包时用压缩得BCD码.向外传输 2:位图 位图是8583包的灵魂,它是打包解包确定字段域的关键, 而了解每个字段域 的属性则是填写数据的基础, 在此中用8个字节(1个字节为8位,则为8*8=64) 设置其后64位的域.8583通过检查位图中的1的位置可以确定其后的数据的域, 然后根据域中规定的长度来取数据,这样解包就很方便了,打包则为相反.首先 检查域中有无数据,如有,则在相应的位图中的位置放置1,来标识此域中有数据 打包与解包: 为第1个域中有数据
Copyright 2005 Prochip Electronics Co,ltd. All Rights Reserved. , 9 Not to be reproduced by any means without prior written consent.
2012-4-21
字段说明
1 起始标志(STX) 用途:标明数据的开始。 格式:1个字符。 内容:第1磁道为“%”,第2磁道和第3磁道为“;”。 2 格式代码(FC) 用途:标明该磁道的信息格式类型。 格式:2位数字。 内容:“99”。 3 主账号(PAN) 用途:标明可以处理交易的发卡机构和持卡者。 格式:13至19个字符。 内容:见JR/T 0008,其中校验数算法见附录A。 4 字段分隔符(FS) 用途:标明前一字段的结束。 格式:1个字符。 内容:第1磁道为“∧”,第2磁道和第3磁道为“=”。 5 姓名(NM) 用途:标明持卡者的姓氏、名字、称谓等。 格式:2至26个字符。 内容:由姓氏、姓氏分隔符、名字或首写字母、分隔符(如需要时)、中间名或首写 字母、结尾圆 点(当其后为称谓时)、称谓组成。最小编码数据应为一个 字母字符(如姓氏)加上姓氏分隔 符。 6 失效日期(ED) 用途:表示卡失效的日期。 格式:YYMM形式的4位数字,其中: YY——卡失效年度的后2个字符。 MM——年度内月份的顺序号。规定在该月份的最后一天后,卡失效。 当YYMM为0000时,表示此卡无失效日期。