上一篇:https://blog.csdn.net/Shujie_L/article/details/117805439
一:Msg.Type(2bytes,全称Message Type Identifier)
Msg.Type包含4个数字,用来定义交易的信息类型。
第一二个数字用来识别信息类,三四个数字定义传输类型和信息功能。
二:Bit Map(8bytes)
ISO8583用Bit Map来决定是否为每个data element分配一个域。
怎么通过Bit Map进行定义定义?分析下面的例子。
比如我们拿到了表示位图的八个字节“30 20 04 C0 20 C0 98 11”。转化为二进制=“00110000 00100000 00000100 11000000 00100000 11000000 10011000 00010001”。
第一个是BitMap比较特殊,0表示不使用扩展位图,1表示使用扩展位图。所以这个报文没有扩展位图。
上面中有域的分别是:第3位、第4位、第11位、第22位、第25位、第26位、第35位、第41位、第42位、第49位、第52位、第53位、第60位、第64位。
三:Data Elements(0-230bytes)
位图位置 | 格式 | 类型 | 详情 |
---|---|---|---|
1 | 定长 | B16 | 是否使用扩展位图 |
2 | 变长,LLVAR | N.22 | 用户交易账号 |
3 | 定长 | N6 | 处理代码 |
4 | 定长 | N12 | 交易金额 |
6 | 定长,MMDDhhmmss | N10 | 本地交易日期和时间 |
11 | 定长 | N6 | 系统跟踪号 |
12 | 变长,hhmmss | N6 | 本地交易时间 |
13 | 变长,MMDD | N4 | 本地交易日期 |
14 | 变长,YYMM | N4 | 卡片有效期 |
15 | 定长,MMDD | N4 | 结算时间 |
17 | 定长,MMDD | N4 | 从主机获取交易的记账日期,通常用于主机和商户清算 |
18 | 定长 | N4 | 商户类型 |
22 | 变长 | N3 | Point-of-Service Entry Mode,在服务终端上定义PIN和PAN的输入方式。前两位表示PAN,后两位表示PIN |
25 | 定长 | N2 | 交易发生的服务店类型,具体如下:2是ATM机、10是银行终端、14是POS、20是电话银行 |
32 | LLVAR | N…11 | 表示交易发生的银行机构的标识码,其中请求数据和响应数据的此域必须相同 |
33 | LLVAR | N…11 | 账户所在的银行机构的标识码,其中请求数据和响应数据的此域必须相同 |
35 | LLVAR | Z…37 | 二磁道数据 |
36 | LLVAR | Z.104 | 三磁道数据 |
37 | 定长 | AN12 | 用来在任何时间标识一个金融、授权、自动冲正交易,有收单行分配。 |
38 | 定长 | AN6 | 交易授权机构返回的代码,用于在服务点终端上信用卡的授权 |
39 | 定长 | AN2 | 返回码 |
41 | 定长 | AN38 | 收单单位终端标识码 |
42 | 定长 | ANS15 | 在本地或者网络中定义商户的编码 |
43 | 定长 | ANS40 | 定义商户的位置信息 |
44 | LLVAR | ANS…25 | 附加返回数据,交易中授权机构返回的其他信息 |
48 | LLLVAR | ANS…999 | Additional Data-Private,存放批量查询的返回数据 |
49 | 定长 | AN3 | 表示“交易金额”所用的货币种类 |
50 | 定长 | AN3 | 结算货币代码,用来表示结算金额、结算处理费、结算交易费等所用的货币种类 |
52 | 定长 | B16 | 用户密码数据,PIN Data。如果终端输入了密码,就需要此域 |
53 | 定长 | AN16 | 密码相关控制信息。提供密码块的附加信息,用于指明PIN key和MAC key。如果有PIN域或者MAC域,必须有此域 |
54 | LLLVAR | ANS…120 | 由授权行主机将客户余额返回给收单终端 |
64 | 定长 | B16 | 数据包最后一个域,用于验证信息来源的合法性,以及校验数据包是否被篡改。 |
70 | 定长 | N3 | 管理信息码,用于定义和维护银行电子信息系统的网络和工作状态。 |
74 | 定长 | N10 | 贷记交易成功交易的次数 |
75 | 定长 | N10 | 贷记收单行自动冲正次数 |