谈谈8583报文的使用及测试

来源:互联网 发布:网络不谢是什么意思 编辑:程序博客网 时间:2024/05/18 09:14
ISO8583报文在金融行业可谓是声名显赫,8583报文是一个国际标准的包格式,其重要性阿堂就不用多说了,网上有很多的介绍,不过对于一个从未接触过8383报文的新手来说,还是很有难度的。它主要是用来解决金融系统之间的报文交换的。本文适合有一定8583报文基础的网友阅读!阿堂目前对于8583报文也是略有认识,之所以写这篇文章,一来是为了作为学习笔记,二来是为了能给其它对8583报文的使用和测试想加深理解的网友提供一些帮助。
 
    下面,阿堂就主要分享“消费”类型报文的测试和组8583报文的过程,说明一下,我这里是针对我们日常使用POS机系统来说的,这里主要是模拟的POS终端发向POSP系统的8583报文。其基本业务流程图如下所示
谈谈8583报文的使用及测试

下面,阿堂是用的发包工具模拟的pos终端发8583报文到posp终端的过程
谈谈8583报文的使用及测试



谈谈8583报文的使用及测试
谈谈8583报文的使用及测试


ok,通过上面的图示,网友们应该有了一个直观的认识了,下面阿堂就来详解上面的报文是如何生成了

007b600016000060220000000002007020048020c08811165477666265921222000000000000014959555556022000375477666265921222d25085060000012600000033333333333333333232323232323232323232323232323135361000000000000000000822000001001500000100100000103133394343433842

第一步:先要查看中国银联8583规范文档,确定消费类需要哪些域组成的

谈谈8583报文的使用及测试

根据文档我们可以轻易的得到需要的域为2,3,4,11,22,25,35,41,42,49,53,60,64域

第二步:根据位图工具,得到相应域的位图,此位图数字在下面会用到

谈谈8583报文的使用及测试

第三步根据字节长度+TPDU+报文头+报文数据 这样的规则即可得到完整的 报文数据了

(说明,下述内容的取值长度及规则,请参考中国银联pos终端规范文档,网上有很多的文档可以自行下载)

(1)    字节长度

报文长度007b

如下是246个字节->123个字符->长度是123(10进制)->7b(16进制)->占用两个字节007b

600016000060220000000002007020048020c08811165477666265921222000000000000014959555556022000375477666265921222d25085060000012600000033333333333333333232323232323232323232323232323135361000000000000000000822000001001500000100100000103133394343433842

 

(2)    TPDU(每个银行,对应的TPDU值各不相同,接入银行时,相应的银行会提供相应值的)

6000160000

(3)    报文头(12位)

60 22 0 0 000000

 

磁条卡金融支付类应用为:60
软件版本号             22
终端状态               0(正常交易状态)
处理要求               0(无处理要求)
保留使用               000000

谈谈8583报文的使用及测试

(4)    消息类型

0200(消费类型,0800是签到类型)

(5)    位图

7020048020C08811

谈谈8583报文的使用及测试

(6)    2域

165477666265921222(16个字节,最大是19个字节) 主账号

N..19(LLVAR),2个字节的长度值+最大19个字节的主账号,
压缩时用BCD码表示的1个字节的长度值+用左靠BCD码表示的最大10个字节的主账号。


 

(7)    3域

000000 交易处理码

(8)    4域

000000014959 (149.59CNY49域可以看出来)

(9)    11域

555556 (系统跟踪号定长3个字节)

(10) 22域

0220 (服务点输入方式码刷卡无PIN)

(11) 25域

00 (服务点条件码00正常提交)

(12) 35域

375477666265921222d250850600000126000000

   2磁道数据(Track 2 Data)

2个字节的长度值+最大37个字节的第二磁道数据(数字和分隔符)

压缩时用BCD码表示的1个字节的长度值+用左靠BCD码表示的最大19个字节的第二磁道数据

 

(13) 41域

受卡机终端标识码

3333333333333333  (33333333BCD码)

 

(14) 42域

受卡方标识码

323232323232323232323232323232(222222222222222 BCD码)


(ANS15,15个字节的定长域)

(15) 49域

交易货币代码

313536(AN3)    (156 BCD码)

(16) 53域

安全控制信息

1000000000000000 (16BCD个字节)

(17) 60域

60.1交易类型码 22:消费类型

60.2批次号        000001

长度:8个字节

000822000001

压缩时用右靠BCD码表示的2个字节的长度值+用左靠BCD码表示的最大7个字节的数据

(18) 64域

报文鉴别码(Message AuthenticationCode) MAC

B64,8个字节的定长域

3133394343433842

0 0
原创粉丝点击