向银联发送的报文:
60 05 25 00 00 60 31 00
31 10 01 02 00 30 20 04
C0 20 C0 98 13 00 00 00
00 00 00 00 66 66 00 00
02 02 10 00 12 37 62 27
00 00 11 08 02 43 78 5D
42 07 50 00 37 10 20 00
00 38 38 38 38 38 38 38
37 31 30 30 30 30 30 30
30 30 30 30 30 30 30 31
31 35 36 C0 76 57 8B 3F
12 55 D7 26 00 00 00 00
00 00 00 00 14 22 00 00
01 00 05 01 00 14 43 55
50 31 38 33 30 32 34 39
33 35 37 38 00 00 00 00
00 00 00 00
(一)
——TPDU说明:长度为10个字节,压缩时用BCD码表示为5个字节长度的数值。
——报文头说明:总长度为12字节,压缩时用BCD码表示为6个字节长度的数值。
5个字节的TPDU + 6个字节的报文头 + 2个字节的应用数据 + 8个字节的位图(或者16个字节的位图)
TPDU: 60 05 05 00 00 //磁条卡金融支付类应用为:60
报文头: 60 31 00 31 10 01 // 磁条卡金融支付类应用为:60 软件版本号31:2010年银联POS规范版本(本规范) 最后的00一个代表正常交易状态,一个代表处理要求,
详细的请看http://blog.youkuaiyun.com/nocodelife/article/details/8240158
2个字节的应用数据:02 00
位图:30 20 04 C0 20 C0 98 13 通过位图可以看出来有下面的位要被发送:
3 4 11 22 25 26 35 41 42 49 52 53 60 63 64
这是最后发送的位,而不是最开始的在结构体里面的置位,
(二)
3域:交易处理码,属性是N6,6个字节的定长数字字符域,压缩时用BCD码表示的3个字节的定长域。
00 00 00
第1,2位表示交易类别, 00 表示商品和服务
第3和第4位表示受借记和查询,以及转出账户的账户类型。第5和第6位表示受贷记以及转入账户的账户类型。