目录
一、ISO8583
ISO8583是国际标准化组织(ISO)定义的一种金融交易报文格式标准。它规定了交换金融交易数据所需要的报文格式、数据元素定义和交易流程,适用于ATM、POS终端、银行卡、支付网关、证券交易等各种金融交易场景。ISO8583标准报文格式是一个固定长度的二进制报文,包含有6个主要部分:消息类型标识符、位图、数据域1~64,其中位图用于标识数据域中哪些数据元素被包含,数据域中包含具体的交易数据元素信息,如卡号、金额、商户号等。由于ISO8583具有灵活性和可扩展性,在金融行业得到了广泛应用。
二、组包及解包过程
一般指令有两种类型:
第一种:TPDU、报文头和应用数据三个部分。
第二种:只有应用数据部分。
例1:现在我们有POST8583报文如下(十六进制表示法):
60 00 02 00 00 61 32 00 32 00 03 02 00 7024 06 C0 20 C2 9A 31 19 62 17 85 20 00 01
68 90 24 90 00 00 00 00 00 00 00 0123 00 01 68 27 06 05 10 00 01 00 12 37 62 17 85
20 00 01 68 90 24 9D 27 06 2201 00 00 06 10 00 31 32 33 34 36 31 33 36 31 32 33 34
35 36 37 38 39 30 32 3132 34 32 00 04 F1 02 60 00 31 35 36 0F D0 4E 2A 00 2D 88 27
26 00 00 00 00 0000 00 01 64 9F 26 08 45 08 1B B0 83 E7 9B F3 9F 27 01 80 9F 10 13
07 0F 01 03 A020 02 01 0A 01 00 00 00 00 00 51 68 C3 6A 9F 37 04 F6 44 80 12 9F 36
02 00 0395 05 00 80 04 E0 00 9A 03 17 08 25 9C 01 00 9F 02 06 00 00 00 00 01 23 5F
2A02 01 56 82 02 7C 00 9F 1A 02 01 56 9F 03 06 00 00 00 00 00 00 9F 33 03 E0 E1C8
9F 34 03 02 03 00 9F 35 01 22 9F 1E 08 20 20 20 20 20 20 20 20 84 08 A0 0000 03 33
01 01 01 9F 09 02 00 20 9F 41 04 00 00 01 68 9F 63 10 30 31 30 34 3538 34 30 00 00
00 00 00 00 60 00 00 30 41 32 30 32 35 30 31 30 30 32 30 32 3032 30 30 30 30 35 30
30 38 33 32 30 30 30 33 20 20 00 14 22 00 00 01 00 06 0141 30 31 45 33 38 43 33
第一步
POS终端上送POS中心的消息报文结构包括TPDU、报文头和应用数据三部分:
——TPDU说明:长度为10个字节,压缩时用BCD码表示为5个字节长度的数值。
——报文头说明:总长度为12字节,压缩时用BCD码表示为6个字节长度的数值。
——应用数据说明:一般长度都是4个字节,压缩时用BCD码表示为2个字节的长度的数值。
所以上述报文中前五个字节为TPDU,即60 00 02 00 00
报文头占用六个字节,即61 32 00 32 00 03
应用数据占用2个字节,即 02 00 也就是"0200"
——0200金融类请求消息:
● POS查询请求。
● POS消费请求。
● POS消费撤销请求。
● POS预授权完成(请求)请求。
● POS预授权完成撤销请求。
● 电子现金脱机消费请求。
● 分期付款消费请求。
● 分期付款消