ISO8583报文协议详解讲解.doc

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ISO8583报文协议详解讲解

ISO8583报文协议详解 ISO8583包(简称8583包)是一个国际标准的包格式,最多由128个字段域组成,每个域都有统一的规定,并有定长与变长之分。 8583包前面一段为位图,用来确定包的字段域组成情况。 其中位图是8583包的灵魂,它是打包解包确定字段域的关键, 而了解每个字段域的属性则是填写数据的基础。 1、位图描述如下: 位图位置:1 格式:定长 类型:B16(二进制16位,16*8=128bit) 描述: 如将位图的第一位设为1,表示使用扩展位图(128个域),否则表示只使用基本位图(64个域)。 如使用某数据域,应在位图中将相应的位设位1,如使用41域,需将位图的41位设为1。 选用条件:如使用65到128域,需设位图域第一位为1 2、每个域的定义如下: typedef struct ISO8583 { int bit_flag; /*域数据类型0 -- string, 1 -- int, 2 -- binary*/ char *data_name; /*域名*/ int length; /*数据域长度*/ int length_in_byte;/*实际长度(如果是变长)*/ int variable_flag; /*是否变长标志0:否 2:2位变长, 3:3位变长*/ int datatyp; /*0 -- string, 1 -- int, 2 -- binary*/ char *data; /*存放具体值*/ int attribute; /*保留*/ } ISO8583; ISO8583 Tbl8583[128] = { /* FLD 1 */ {0,BIT MAP,EXTENDED , 8, 0, 0, 2, NULL,0}, /* FLD 2 */ {0,PRIMARY ACCOUNT NUMBER , 22, 0, 2, 0, NULL,0}, /* FLD 3 */ {0,PROCESSING CODE , 6, 0, 0, 0, NULL,0}, /* FLD 4 */ {0,AMOUNT, TRANSACTION , 12, 0, 0, 1, NULL,0}, /* FLD 5 */ {0,NO USE , 12, 0, 0, 0, NULL,0}, /* FLD 6 */ {0,NO USE , 12, 0, 0, 0, NULL,0}, /* FLD 7 */ {0,TRANSACTION DATE AND TIME , 10, 0, 0, 0, NULL,0}, /* FLD 8 */ {0,NO USE , 8, 0, 0, 0, NULL,0}, /* FLD 9 */ {0,NO USE , 8, 0, 0, 0, NULL,0}, /* FLD 10 */ {0,NO USE , 8, 0, 0, 0, NULL,0}, /* FLD 11 */ {0,SYSTEM TRACE AUDIT NUMBER , 6, 0, 0, 1, NULL,0}, /* FLD 12 */ {0,TIME, LOCAL TRANSACTION , 6, 0, 0, 0, NULL,0}, /* FLD 13 */ {0,DATE, LOCAL TRANSACTION , 4, 0, 0, 0, NULL,0}, /* FLD 14 */ {0,DATE, EXPIRATION , 4, 0, 0, 0, NULL,0}, /* FLD 15 */ {0,DATE, SETTLEMENT , 4, 0, 0, 0, NULL,0}, /* FLD 16 */ {0,NO USE , 4, 0, 0, 0, NULL,0}, /* FLD 17 */ {0,DATE, CAPTURE , 4, 0, 0, 0, NULL,0}, /* FLD 18 */ {0,MERCHANTS TYPE , 4, 0, 0, 0, NULL,0}, /* FLD 19 */ {0,NO USE , 3, 0, 0, 0, NULL,0}, /* FLD 20 */ {0,NO USE , 3, 0, 0, 0, NULL,0}, /* FLD 21 */ {0,NO USE , 3, 0, 0, 0, NULL,0}, /* FLD 22 */ {0,POINT OF SERVICE ENTRY MODE , 3, 0, 0, 0, NULL,0}, /* FLD 23 */ {0,NO USE , 3, 0, 0, 0, NULL,0}, /* FLD 24 */ {0,NO US

文档评论(0)

此项为空 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档