您的位置:首页 > 其它

8583报文格式

2010-06-21 15:48 134 查看
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,"MERCHANT'S 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 USE ", 3, 0, 0, 0, NULL,0},

/* FLD 25 */ {0,"POINT OF SERVICE CONDITION CODE ", 2, 0, 0, 0,
NULL,0},

/* FLD 26 */ {0,"NO USE ", 2, 0, 0, 0, NULL,0},

/* FLD 27 */ {0,"NO USE ", 1, 0, 0, 0, NULL,0},

/* FLD 28 */ {0,"field27 ", 6, 0, 0, 0, NULL,0},

/* FLD 29 */ {0,"NO USE ", 8, 0, 1, 0, NULL,0},

/* FLD 30 */ {0,"NO USE ", 8, 0, 1, 0, NULL,0},

/* FLD 31 */ {0,"NO USE ", 8, 0, 1, 0, NULL,0},

/* FLD 32 */ {0,"ACQUIRER INSTITUTION ID. CODE ", 11, 0, 2, 0,
NULL,0},

/* FLD 33 */ {0,"FORWARDING INSTITUTION ID. CODE ", 11, 0, 2, 0,
NULL,0},

/* FLD 34 */ {0,"NO USE ", 28, 0, 2, 0, NULL,0},

/* FLD 35 */ {0,"TRACK 2 DATA ", 37, 0, 2, 0, NULL,0},

/* FLD 36 */ {0,"TRACK 3 DATA ",104, 0, 3, 0, NULL,0},

/* FLD 37 */ {0,"RETRIEVAL REFERENCE NUMBER ", 12, 0, 0, 0, NULL,0},

/* FLD 38 */ {0,"AUTH. IDENTIFICATION RESPONSE ", 6, 0, 0, 0,
NULL,0},

/* FLD 39 */ {0,"RESPONSE CODE ", 2, 0, 0, 0, NULL,0},

/* FLD 40 */ {0,"NO USE ", 3, 0, 0, 0, NULL,0},

/* FLD 41 */ {0,"CARD ACCEPTOR TERMINAL ID. ", 8, 0, 0, 0, NULL,0},

/* FLD 42 */ {0,"CARD ACCEPTOR IDENTIFICATION CODE ", 15, 0, 0, 0,
NULL,0},

/* FLD 43 */ {0,"CARD ACCEPTOR NAME LOCATION ", 40, 0, 0, 0, NULL,0},

/* FLD 44 */ {0,"ADDITIONAL RESPONSE DATA ", 25, 0, 2, 0, NULL,0},

/* FLD 45 */ {0,"NO USE ", 76, 0, 2, 0, NULL,0},

/* FLD 46 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 47 */ {0,"field47 ",999, 0, 3, 0, NULL,0},

/* FLD 48 */ {0,"ADDITIONAL DATA --- PRIVATE ",999, 0, 3, 0, NULL,0},

/* FLD 49 */ {0,"CURRENCY CODE,TRANSACTION ", 3, 0, 0, 0, NULL,0},

/* FLD 50 */ {0,"CURRENCY CODE,SETTLEMENT ", 3, 0, 0, 0, NULL,0},

/* FLD 51 */ {0,"NO USE ", 3, 0, 0, 0, NULL,0},

/* FLD 52 */ {0,"PERSONAL IDENTIFICATION NUMBER DATA ", 8, 0, 0, 2,
NULL,0},

/* FLD 53 */ {0,"SECURITY RELATED CONTROL INformATION", 16, 0, 0, 0,
NULL,0},

/* FLD 54 */ {0,"ADDITIONAL AMOUNTS ",120, 0, 3, 0, NULL,0},

/* FLD 55 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 56 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 57 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 58 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 59 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 60 */ {0,"NO USE ", 5, 0, 3, 0, NULL,0},

/* FLD 61 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 62 */ {0,"NO USE ", 11, 0, 3, 0, NULL,0},

/* FLD 63 */ {0,"NO USE ", 11, 0, 3, 0, NULL,0},

/* FLD 64 */ {0,"MESSAGE AUTHENTICATION CODE FIELD ", 8, 0, 0, 2,
NULL,0},

/* FLD 65 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 66 */ {0,"NO USE ", 1, 0, 0, 0, NULL,0},

/* FLD 67 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 68 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 69 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 70 */ {0,"SYSTEM MANAGEMENT INformATION CODE ", 3, 0, 0, 0,
NULL,0},

/* FLD 71 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 72 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 73 */ {0,"NO USE ", 6, 0, 0, 0, NULL,0},

/* FLD 74 */ {0,"NUMBER OF CREDITS ", 10, 0, 0, 0, NULL,0},

/* FLD 75 */ {0,"REVERSAL NUMBER OF CREDITS ", 10, 0, 0, 0, NULL,0},

/* FLD 76 */ {0,"NUMBER OF DEBITS ", 10, 0, 0, 0, NULL,0},

/* FLD 77 */ {0,"REVERSAL NUMBER OF DEBITS ", 10, 0, 0, 0, NULL,0},

/* FLD 78 */ {0,"NUMBER OF TRANSFER ", 10, 0, 0, 0, NULL,0},

/* FLD 79 */ {0,"REVERSAL NUMBER OF TRANSFER ", 10, 0, 0, 0, NULL,0},

/* FLD 80 */ {0,"NUMBER OF INQUIRS ", 10, 0, 0, 0, NULL,0},

/* FLD 81 */ {0,"AUTHORIZATION NUMBER ", 10, 0, 0, 0, NULL,0},

/* FLD 82 */ {0,"NO USE ", 12, 0, 0, 0, NULL,0},

/* FLD 83 */ {0,"CREDITS,TRANSCATION FEEAMOUNT ", 12, 0, 0, 0,
NULL,0},

/* FLD 84 */ {0,"NO USE ", 12, 0, 0, 0, NULL,0},

/* FLD 85 */ {0,"DEBITS,TRANSCATION FEEAMOUNT ", 12, 0, 0, 0,
NULL,0},

/* FLD 86 */ {0,"AMOUNT OF CREDITS ", 16, 0, 0, 0, NULL,0},

/* FLD 87 */ {0,"REVERSAL AMOUNT OF CREDITS ", 16, 0, 0, 0, NULL,0},

/* FLD 88 */ {0,"AMOUNT OF DEBITS ", 16, 0, 0, 0, NULL,0},

/* FLD 89 */ {0,"REVERSAL AMOUNT OF DEBITS ", 16, 0, 0, 0, NULL,0},

/* FLD 90 */ {0,"ORIGINAL DATA ELEMENTS ", 42, 0, 0, 0, NULL,0},

/* FLD 91 */ {0,"FILE UPDATE CODE ", 1, 0, 0, 0, NULL,0},

/* FLD 92 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 93 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 94 */ {0,"SERVICE INDICATOR ", 7, 0, 0, 0, NULL,0},

/* FLD 95 */ {0,"REPLACEMENT AMOUNTS ", 42, 0, 0, 0, NULL,0},

/* FLD 96 */ {0,"NO USE ", 8, 0, 0, 0, NULL,0},

/* FLD 97 */ {0,"AMOUNT OF NET SETTLEMENT ", 16, 0, 0, 0, NULL,0},

/* FLD 98 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 99 */ {0,"SETTLEMENT INSTITUTION ID ", 11, 0, 2, 0, NULL,0},

/* FLD 100 */ {0,"RECVEING INSTITUTION ID ", 11, 0, 2, 0, NULL,0},

/* FLD 101 */ {0,"FILENAME ", 17, 0, 2, 0, NULL,0},

/* FLD 102 */ {0,"ACCOUNT IDENTIFICATION1 ", 28, 0, 2, 0, NULL,0},

/* FLD 103 */ {0,"ACCOUNT IDENTIFICATION2 ", 28, 0, 2, 0, NULL,0},

/* FLD 104 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 105 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 106 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 107 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 108 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 109 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 110 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 111 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 112 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 113 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 114 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 115 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 116 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 117 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 118 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 119 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 120 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 121 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 122 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 123 */ {0,"NEW PIN DATA ", 8, 0, 3, 2, NULL,0},

/* FLD 124 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 125 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 126 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 127 */ {0,"NO USE ",999, 0, 3, 0, NULL,0},

/* FLD 128 */ {0,"MESSAGE AUTHENTICATION CODE FIELD ", 8, 0, 0, 2,
NULL,0},

};

3、变长,定长域说明

如第二域:域名为主帐号,

数据类型为
string

长度为
22
(是长长度不得超过此数)

是个2位变长域

由于是2位变长,在打包时需在数据域前加上数据的实际长
度,如为19位,则表示为:

19+数据值(即前两位为长度)

如第三域:域名为处理码,

数据类型为
string

长度为6

是个定长域

必须填满6位。


A:ISO8583
各域段的说明

1
,信息类型(
message
type)
定义

位图位置:-

格式:定长


型:
N4

描述:

数据包的第一部分,定义数据包的类型。

数据类型由数据包的发起者设定,应遵循以下要求:

数据包开
始部分必须是信息类型;

对不支持的信息类型能给出拒绝应答。

0100
授权交易

0110
授权交易答复

0200
金融
交易

0210
金融交易答复

0240
查询交易

0250
查询交易答复

0400
冲正交易

0410
冲正交易答


0800
管理交易

0810
管理交易答复

2
,位图
(Bit Map) -
基本位图和扩展位图

位图位置:
1

格式:定长

类型:
B16

描述:


将位图的第一位设为
'1'
,表示使用扩展位图,否则表示只使用基本位图。

如使用某数据域,应在位图中将相应的位设位
'1'
,如使用
41
域,需将
位图的
41
位设为
'1'


选用条件:如使用
65

128
域,需设位图域为
'1'

3

Bit02
主帐号
(Primary
Account Number )

位图位置:
02

格式:变长
,LLVAR


型:
N..22

描述:

唯一的确认一个用户交易的基本帐号。

由于银行电子服务系统涉及多个应用系统,而帐号长度最多为
22
位,故将原标准的
19
长度改为
22
位。

Bit03
处理代码

Processing Code )

位图位置:
03

格式:定长

类型:
N6

描述:
用于描述交易对客户帐户造成何种影响的代码。

处理代码和信息码一起可唯一定义一种交易的类型。

处理代码由以下三部分组成:


置描述

1

2
交易动作码

3

4
付出帐户类型,用于借记类,如查询、代收费、转场交易。

5

6
收入帐户类型,用于代收费、转
帐等。

其中:

ff :
付出帐户

tt

收入帐户

*
视主机而定

5

Bit04
交易金额

Amount, Transaction)

位图位置:
04

格式:定长

类型:
N12


述:帐户人要求交易的交易金额,不含任何处理和交易费用。

金额的表示和货币代码有关,应能表示相应货币的最小单位。参
ISO4217
有关货币代
码定义。


“000000000100”
用于表示美元,表示
1.00
元;如用于表示意大利货币,则表示
100
里拉。

对于查询等交易,
应设交易金额为
“000000000000”


6

Bit06
交易日期和时间
Transmission
Date and Time

位图位置:
07

格式:定
长,
MMDDhhmmss

类型:
N10

描述:本地交易日期和时间

7

Bit11
系统跟踪号(
Systems
Trace Audit Number)

位图位置:
11

格式:定长


型:
N6

描述:终端交易的跟踪号码。

交易发起终端填写,和

交易日期、时间

、信息类型等合在一起可唯一定义某一个终端的唯一一笔交
易。即是说,在同一天,对一终端,同一类交易的系统跟踪号应保证不同。系统跟踪号在交易过程中不能修改。使用此域来匹配请求和通知类交易的返回。


用系统使用此域来检查收到的授权、金融、自动冲正、结算、管理和网管等类交易的应答包是否是其请求包的应答。

系统跟踪号不用于匹配自动冲正交
易,也不用于在预授权消费时匹配前面的预授权交易。参
90
域。

对于银行电子服务系统,其系统跟踪号是交易流水号。

8

Bit12
本地交易时间(
Time
,Local Transaction


位图位置:
12

格式:定长,
hhmmss


型:
N6

描述:交易在终端上发生的时间。

本地交易时间在交易处理过程中不能改变。在自动冲正,存贮转发时,本地交易时间不能改变。

9

Bit13
本地交易日期
(Date
,Local Transaction)

位图位置:
13

格式:定长
,MMDD


型:
N4

描述:交易在终端上发生的时间。

本地交易时间不能改变,在自动冲正、存储转发交易时,本地交易时间也不能改变。

10

Bit14
有效期
(Date
,Expiration)

位图位置:
14

格式:定长
,YYMM

类型:
N4


述:卡的有效期,年年月月

由于卡类写磁格式不同,收单行可能提不出卡的有效期,授权机构从卡的二磁道中提取卡的有效期。如卡,无二磁道,收单行
应要求手工录入卡的有效期。

选用条件:
100

200

400
等交易如没有
2

3
磁道时,一定要有此域。

11

Bit15
结算日期
(Date
,Settlement)

位图位置:
15

格式:定长,
MMDD

类型:
N4


述:

银行电子服务系统和主机结算的时间,格式月月日日。

结帐日期前发生的交易参加当天结算。

在结算时,结帐日期也用于计算
处理、交易费用。

12

Bit17
获取日期
(Date
,Capture)

位图位置:
17

格式:定长,
MMDD

类型:
N4


述:从主机获取交易的记帐日期。通常用于主机和商户清算。

13

Bit18
商户类型(
Merchant's
Type)

位图位置:
18

格式:定长

类型:
N4

描述:
定义商户产品和服务类型的代码

商户类型用于金融、授权交易,用于指定服务点的类型。它主要有以下用途:

决定预授权交易得到确认的最长
时间;

控制合法限额;

为交易授权处理,控制网络操作规则;

欺诈检测;

用于商户分类报表;

交易费用处
理。

根据
ISO8583
标准,应使用相应的国家标准。

商户类型代码表如下:

商户类型代码行业类型说明

4215

递服务

4511
民航

4722
旅游

4782
过桥费

4789
其他运输服务

4614
电信服务

5542
加油站

5812
餐馆

5999
购物

6010
金融机构-人工现金支付

6011
金融机构-自动现金支付

6012
金融机构-各类服务

7011
酒店、旅馆

7299
各类个人服务:洗衣、美容、

7399
各类商业服务:停车场、租车、广告、其
他服务

7699
各类维修服务:维修、洗车、拖车

7996
娱乐:电影、剧院、体育、游戏

8099
医疗服务

8111
法律服务

8999
各类专业服务:会计、教育、装修、工程

选用条件:服务点终端发起的交易一定要有此域。

14

Bit22
服务点输入方式
(Point-of-Service
Entry Mode)

位图位置:
22

格式:定长


型:
N3

描述:在服务终端上定义
PIN

PAN
的输入方式。

服务点输入方式包含以下两个方面组合而成:

位置描述

1

2
在服务终端上
PAN
有效期输入方式

3

3
在服务终端上
PIN
的输入方式

PAN
的输入方式编码如下:

PAN
输入方式描述

00
不知

01
手工

02
读磁卡

03
条码扫描仪(
BAR


04
光学符号阅读器(
OCR


05
集成电路卡(
IC
卡)

PIN
的输入方式编码如下:

PIN
输入方式描述

0
不知

1
终端能接收
PIN

2
终端不能接收
PIN

选用条件:服务点终端发起的交易一定要有此域。

15

Bit25
服务点条件代码
(Point-of-Service
Condition Code)

位图位置:
25

格式:定


类型:
N2

描述:定义交易发生的服务点类型

用法说明:下面是
CYBERBANK
支持的服务点条件代码。

服务点
条件代码服务点终端类型

2
自动柜员机(
ATM


10
银行终端(
10


14POS

20
电话银行

16

Bit32
收单机构标识码
(Acquirer
institution Identification)

位图位置:
32


式:
LLVAR

类型:
N..11

描述:在金融交易中此域表示交易发生的银行机构的标识码

应答数据包必须和请求数据包此域相
同。

17

Bit33
向前机构标识码
(Forwarding Institution
Identification Code)


图位置:
33

格式:
LLVAR

类型:
N..11

描述:在金融交易中此域表示帐户所在的银行机构的标识码

在网管交

800/810
中,本域含有交易发起机构的代码。

应答数据包必须和请求数据包此域相同。

18

Bit35
二磁道数据
(Track 2
Data)

位图位置:
35

格式:
LLVAR

类型:
Z..37


述:写在卡二磁道的数据。数据组成遵循
ISO7811

1985
标准,数据中包含域分隔符,但不包含卡启始、结束符、
LRC
等。

收卡行应检测卡
的二磁道是否符合国际标准。

为支持国际交换收单行应将二磁道中的分隔符换为



。除此外不能对二磁道数据进行任何修改,如修改
PAN
的校验
字、有效期、服务码等。

19

Bit36
三磁道数据
(Track 3
Data)

位图位置:
36

格式:
LLLVAR

类型:
Z...104


述:写在卡三磁道的数据。数据应组成遵循
ISO4909
标准,数据中包含域分隔符,但不包含卡启始、结束符、
LRC
等。

注意:长度说明为
3
位数
字长。

20

Bit37
检索索引号
(Retrieval
Reference Number)

位图位置:
37

格式:定长


型:
AN12

描述:检索索引号用来在任何时间标识一个金融、授权、自动冲正交易。

检索索引号不要求打印在持卡人的帐单上。它的主要目
的是在收单行和授权行之间定义一个数据项用于跟踪和检索交易。授权机构可以将检索索引号打印在客户的对帐单上。

检索索引号由收单行分配。


用条件:可包含在收单机构的交易请求中。如在交易请求中有,则应答数据中一定应原样返回。

21

Bit38
授权码
(Authorization
Identification)

位图位置:
38

格式:定长


型:
AN6

描述:交易授权机构返回的返回代码。

授权码用于在服务点终端上信用卡授权;

授权机构按网络操作规定,可选使用本
域。

22

Bit39
返回码
(Response
Code)

位图位置:
39

格式:定长

类型:
AN2

描述:对一
交易定义其处理结果的编码。

返回码用于说明授权机构对金融(授权)交易的处理状态;也用来指明自动冲正交易的冲正原因;还用来指出目标主机已接
收到文件修改、结算、管理、网管等交易请求。

返回码应尽可能准确,应尽可能描述清楚所遇到的问题和状态。网络交换主机、收单行主机有可能会按不
同的返回码收取不同的交易处理费用,并执行不同的处理过程。

23

Bit41
收卡单位终端标识码
(Card Acceptor Terminal
Identification)

位图位
置:
41

格式:定长

类型:
ANS8

描述:定义在收单单位中定义一个服务终端的标识码,在同一商户中服务终端标识码应唯一。

24

Bit42
收卡商户定义码
(Card
Acceptor Identification Code)

位图位置:
42


式:定长

类型:
ANS15

描述:在本地和网络中定义交易单位(商户)的编码。

25

Bit43
收卡商户位置
(Card
Acceptor Location)

位图位置:
43

格式:定长


型:
ANS40

描述:在本地和网络中定义收卡单位(商户)的国家、省。城市等。

选用条件:如对外卡网络,一定要包含此域。

26

Bit44
附加返回数据
(Additional
ResponseData)

位图位置:
44

格式:
LLVAR


型:
ANS..25

描述:在金融(授权)交易中授权机构返回的其他信息。

27

Bit48
附加数据
-
私用
(Additional Data-Private)

位图位置:
48

格式:
LLLVAR


型:
ANS...999

描述:银行电子服务系统使用此域作以下用途

存放批量查询的返回数据

其格式与输出格式表对应

28

Bit49
交易货币代码
(Currency
Code,Transaction)

位图位置:
49

格式:定长


型:
AN3

描述:按
ISO4217
定义的交易货币代码,用来表示

交易金额


field04
)所用的货币种类。

交易货币代码是指在
收单单位进行交易所用的交易种类。

29

Bit50
结算货币代码
(Currency
Code,Settlement)

位图位置:
50

格式:定长


型:
AN3

描述:按
ISO4217
定义的结算货币代码,用来表示结算金额、结算处理费、结算交易费等所用的货币种类。

结算货币代码是
指在进行结算和清算过程中所用的货币种类。

30

Bit52
用户密码
(PIN)
数据
(PIN Data)

位图位置:
52

格式:定长

类型:
B16


述:用户在服务终端上交易用于识别用户合法性的一些数字。

PIN
在分行主机用分行主机密钥按
ANSIX9.8
标准加密,形成密文块。


用条件:如果在终端上输入了密码,就需要此域。

31

Bit53
密码相关控制信息
(Security
Related Control)

位图位置:
53

格式:定长


型:
AN16

描述:本域提供有关密码块的附加信息,用于指出用于
PIN
计算的
PIN key
,用于
MAC
计算的
MAC key


本域
格式如下表所示:

0

1
格式代码
2N“20”

2

3PIN
加密算法
2N“01”:DES

4

5
密文块格式
2N“01”:ANSI

6PIN
密钥索引
1N‘1’

‘2’

7MAC
密钥索引
1N‘1’

‘2’

8

11MAC
检查数据
4B

12

15
填充
4N


BOC
信用卡网络中
PIN

MAC
各使用两个密钥
---'1'
号和
'2'
密钥,交易中计算
PIN

MAC
时只能各用某一个
KEY
,同时需将所用的
KEY
索引号填写此域。

选用条件:如果有
PIN
域或
MAC
域,一定需有此域。

32

Bit54
附加金额
(Additional
Amounts)

位图位置:
54

格式:
LLLVAR


型:
ANS...120

描述:此域由授权行主机将客户的余额返回给收单终端,以显示或打印在客户回单上。

在此域中最多可有
6
个余额返
回,每个余额返回格式如下:

位置描述

0

1
处理码
3

4

5

6
位定义的帐号类型

2

3
金额类型:
01
-帐户金额

02

可用金额

03
-拥有金额

04
-应付金额

40
-可用取款限额

56
-可用转帐限额

4

6
金额的货币代码

7‘D’

借记金额,
’C’
-贷记金额

8

19
余额数目

六个余额中必须返回可用余额,在
ATM

POS
上显示可用余额

33

Bit64
信息确认码
(MAC)

位图位置:
64

格式:定长

类型:
B16

描述:数据包的最后一个域,
用于验证信息来源的合法性,以及数据包中数据是否未被篡改。

MAC
的计算参
ANSIX.99,(
最后八字节未满八位者左补零,右补零?
)


提高效率,在发送者和接收者之间,只有以下一些重要的域参加
MAC
的计算。数据包中如果存在以下数据域,它们将参加
MAC
的计算。

位图域名

2
基本帐号

3
处理代码

4
交易金额

11
系统跟踪号

12
本地交易时间

13
本地交
易日期

32
收单机构代码

38
授权码

39
返回码

41
收单终端代码

49
交易货币代码

95
替换金


选用条件:只使用了
1

64
域的数据包使用此域。

34

Bit70
管理信息码
(System Management Indormation
Code)

位图位置:
70


式:定长

类型:
N3

描述:

用于定义和维护银行电子服务系统内部通讯网络状态和应用工作状态。

网络管理信息代码用于管理清算日期
"cutoff"
,通讯
"sign on/sign off"

"key exchange"
等。

支持以下一些网络管理信息码

NMIC
网络管理信息码动作

001
签到
(Sign on)

002
签退
(Sign off)

101
交换密钥
(Key
exchange)

201
结帐日期切换

(Cutoff)

202
结帐日期切换完成

301
测试
(Echo test)

35

Bit74
贷记交易笔数
(Transaction
Number)

位图位置:
74

格式:定长

类型:
N10


述:贷记金融交易总的成功交易次数

CYBERBANK
软件在收到如下一个处理代码时会增加贷记交易次数。

交易码交易服务

00
贷记,购物与服务

01
贷记,取现

02
贷记,调整
(
客户调整
)

36

Bit75
贷记自动冲正交易笔数
(Credits,Reversal
Number)

位图位置:
75

格式:定长


型:
N10

描述:贷记收单行自动冲正、
“ChargeBack"
等交易总的交易次数

CYBERBANK
软件在收到如下一个处理代码时
会增加贷记自动冲正交易笔数

交易码交易服务

20
贷记,退货

21
贷记,存款

22
贷记,调整(客户修改)

37

Bit76
借记交易笔数
(Debits,Number)

位图位置:
76

格式:定长

类型:
N10


述:借记金融交易总的成功交易次数

CYBERBANK
软件在收到如下一个处理代码时会增加借记交易次数。

交易码交易服务

00
借记,购物与服务

01
借记,取现

02
借记,调整
(
客户调整
)

38

Bit77
借记自动冲正交易笔数
(Debits,Reversal
Number)

位图位置:
77

格式:定长


型:
N10

描述:借记收单行自动冲正、
“ChargeBack"
等交易总的交易次数

CYBERBANK
软件在收到如下一个处理代码时
会增加借记重发交易次数,并在清算表报中反映。

交易码交易服务

20
借记
(!!!)
,退货

21
借记,存款

22

记,调整(客户修改)

39

Bit78
转帐交易笔数
(Transfers,Number)

位图位置:
78

格式:定长

类型:
N10


述:转帐的交易总次数。

系统在收到如下一个处理代码的金融交易时会增加转帐交易的次数。

交易码交易服务

40
客户相关帐户间
转帐

40

Bit79
转帐自动冲正交易笔数
(Transfers,Reversal
Number)

位图位置:
79

格式:
定长

类型:
N10

描述:转帐的自动冲正交易总次数。

系统在收到如下一个处理代码的自动冲正交易时会增加转帐自动冲正交易的
次数。

交易码交易服务

40
客户相关帐户间转帐

41

Bit80
查询交易笔数
(Inquiries,Number)

位图位置:
80

格式:定长

类型:
N10


述:成功的查询交易次数。

系统软件在收到如下一个处理代码时会增加查询交易次数。

交易码交易服务

30
查询可用金额

42

Bit81
授权交易笔数
(Authorization,Number)

位图位置:
81

格式:定长

类型:
N10

描述:成功的授权交易总额

在收到一个授权交易时系统将授权交易笔数加一。

43

Bit83
贷记交易费金额
(Credits,Transaction
FeeAmount)

位图位置:
83

格式:定长


型:
N12

描述:净交易费用,如交易金额为正。

44

Bit85
借记交易费金额
(Debits,Transaction
FeeAmount)

位图位置:
85

格式:定长


型:
N12

描述:净交易费用,如交易金额为负。

45

Bit86
贷记交易金额
(Credits,Amount)

位图位置:
86

格式:定长

类型:
N16


述:贷记金融交易总的交易金额,不含任何费用。

系统在收到如下一个处理代码时会增加贷记交易金额,并在清算表报中反映。

交易码交易服


20
贷记,退货

21
贷记,存款

22
贷记,调整(客户修改)

46

Bit87
贷记自动冲正金额
(Credits,Reversal
Amount)

位图位置:
87

格式:定长


型:
N16

描述:信用卡自动冲正交易的总金额,不含任何费用。

47

Bit88
借记交易金额
(Debits,Amount)

位图位置:
88

格式:定长

类型:
N16


述:借记金融交易总的交易金额,不含任何费用。

系统在收到如下一个处理代码时会增加借记交易金额,并在清算表报中反映。

交易码交易服


00
借记,购物与服务

01
借记,取现

02
借记,调整
(
客户调整
)

48

Bit89
借记自动冲正交易金额
(Debits,Reversal
Amount)

位图位置:
89

格式:定长


型:
N16

描述:借记自动冲正交易的总金额,不含任何费用。

49

Bit90
原交易的数据元素
(Original
Data Elements)

位图位置:
90

格式:定长


型:
N42

描述:存放原交易的一些数据,用于修改或自动冲正。

数据由以下五部分组成:

位置描述

1

4
信息类型码

设为原交易的信息类型代码

5

10
系统跟踪号

原交易系统跟踪号

11

20
交易日期和时间

原交易的交易
日期和时间

21

31
原收单机构

原交易的收单机构

不足
11
位的机构代码,左补
‘0’

32

42
原向前机构


交易的收单机构

不足
11
位的机构代码,左补
‘0’

50

Bit91
文件修改编码
(File
Update Code)

位图位置:
91

格式:定长

类型:
AN1


述:用此域指示某文件怎样维护。

CYBERBANK
支持以下一些修改代码:

1
增加记录

2
改变记录

3
删除记录

5
查询

7
增加文件

选用条件:

51

Bit94
服务指示码
(Service
Indicator)

位图位置:
94

格式:定长

类型:
AN7


述:指示文件修改服务。

选用条件:

52

Bit95
代替金额
(Replacement
Amounts)

位图位置:
95

格式:定长

类型:
N42!!!

描述:客户修改或部分取消已完成的交易,最后实际发生的交易金额,

交易的原交易金额存放在
90
域。

本域由以下
4
部分组成

Sub-ElementAmountAttribute

交易实际金额
N12

结算实际金额
N12

实际交易费用
X

N8

实际结算费用
X

N8

53

Bit97
净结算金额
(Net
Settlement Amount)

位图位置:
97

格式:定长


型:
X+N16

描述:此域为净结帐金额。

502
交易中用于发送当天的净结算金额

例:
“C0000000020000000”

表示贷方(
'

'
?)
200000.00
元。

“D0000000020000000”
,表示借方(
'

'
?)
200000.00
元。

54

Bit99
结算机构码
(Settlement Institution
Identification)

位图位置:
99


式:
LLVAR

类型:
N..11

描述:此域存放接收清算信息的机构代码。

返回数据包此域必须和请求数据包一致。

55

Bit100
接收机构码(
Receiving
Institution Identification)

位图位置:
100


式:
LLVAR

类型:
N..11

描述:金融交易此域存放授权机构代码。

网管类交易,
800/820
交易,此域存放请求的目
的机构代码。

返回数据包此域必须和请求数据包一致。

56

Bit101
文件名
(FileName)

位图位置:
101

格式:
LLVAR

类型:
ANS..17


述:发送机构设置的文件名。

57

Bit102
帐号
1(Account
Identification1)

位图位置:
102

格式:
LLVAR


型:
ANS..28

描述:一个特定的客户帐号。帐号
1
用来描述受借记、转出、支付等交易影响的帐户。

选用条件:转帐时使用。

58

Bit103
帐号
2(Account
Identiication2)

位图位置:
103

格式:
LLVAR


型:
ANS..28

描述:交易的补充信息,如:第二货币号、利率代码、起止日期等。

定义如下表

0000000000000000000000000000000000000000000000000

位置长度描述

00

2122
帐户

22

276
发卡机构号

如果此域存在,将按此机构代码作为路由信息。

选用条件:机构间转帐时使用。

60

Bit123
新密码数据
(New PIN Data)

位图位置:
123

格式:
LLLVAR


型:
B...16

描述:修改密码交易时存放新密码。

格式参考
52


选用条件:修改密码交易时必须有此域。

61

Bit128
信息确认码
(MAC)

位图位置:
128

格式:定长

类型:
B16

描述:数据包的最后一个
域,用于验证信息来源的合法性,以及数据包中数据是否未被篡改。

MAC
的计算参
ANSIX.99

为提高效率,在发送者和接收者之间,
只有以下一些重要的域参加
MAC
的计算。数据包中如果存在以下数据域,它们将参加
MAC
的计算。

位图域名

2
基本帐号

3
处理代码

4
交易金额

11
系统跟踪号

12
本地交易时间

13
本地交
易日期

32
收单机构代码

38
授权码

39
返回码

41
收单终端代码

49
交易货币代码

95
替换金


选用条件:使用
65

128
数据域的数据包需使用此域。

typedefstruct

{

longsync_counter;

charkeytype;

} AB8583_Security_Ctrl_Info;

typedef struct

{

charlength[4];

struct

{

characcount_type[3];

charamount_type[3];

charcurrency_code[4];

doubleamount;

} ledger_balance_amount;

struct

{

characcount_type[3];

charamount_type[3];

charcurrency_code[4];

doubleamount;

} available_balance_amount;

} AB8583_Balance_Amount;

typedef struct

{

charencryption_key_used;

charmac_key_used;

charmessage_effect;

charno_of_unlogged_txns;

} AB8583_Message_Indicator;

typedef struct

{

charauth_function_code;

charauth_mode;

charauth_id_response_code[7];

charservice_business_code[5];

charinvoice_number[11];

} AB8583_Auth_Operation_Code;

typedef struct

{

charorg_message_type[5];

charorg_system_trace_number[7];

charorg_transaction_date_time[11];

charorg_acqr_inst_id_code[12];

charora_forw_inst_id_code[12];

} AB8583_Original_Data_Elements;

typedef struct

{

doubleactual_amount_of_transaction;

doubleactual_amount_of_settlement;

doubleactual_amount_of_transaction_fee;

doubleactual_amount_of_settlement_fee;

} AB8583_Replacement_Amounts;

BIT DATA_NAME TYPE

typedef struct

{

charmessage_type[5];

/***

MESSAGE_TYPE_IDENTIFICATION N4

0100
授权类请求消息
(
授权
,
撤消授权
,
余额查询
)

0110
授权类应答消息
(
授权
,
撤消授权
,
余额查询
)

0200
金融类请求消息
(
取款
,
存款
,
消费
,
退款
)

0210
金融类应答消息
(
取款
,
存款
,
消费
,
退款
)

0420
冲正类报告消息
(
取款
,
存款
,
消费
,
退款
,
授权
)

0430
冲正类应答消息
(
取款
,
存款
,
消费
,
退款
,
授权
)

0524
对帐类报告消息
(ATM
结算对帐
,POS
结算对帐
)

0534
对帐类应答消息
(ATM
结算对帐
,POS
结算对帐
)

0800
网络业务管理类请求消息
(
重置密钥
)

0810
网络业务管理类应答消息
(
重置密钥
)

0820
网络业务管理类报告消息
(
状态设置
,
广播通知
,
申请重置密钥
)

0830
网络业务管理类应答消息
(
状态设置
,
广播通知
,
申请重置密钥
)

****/

charprimary_account_number[20];

/****

2 PRIMARY_ACCOUNT_NUMBER N...19(LLVAR)

charprocessing_code[7];

3 PROCESSING_CODE N6

doubleamount_of_transactions;

4 AMOUNT_OF_TRANSACTIONS N12

doubleamount_of_settlement;

5 AMOUNT_OF_SETTLEMENT N12

chartransmission_date_and_time[11];

7 TRANSMISSION_DATE_AND_TIME N10

longsystem_trace_audit_number;

11 SYSTEM_TRACE_AUDIT_NUMBER N6

chartime_of_local_transaction[7];

12 TIME_OF_LOCAL_TRANSACTION N6

chardate_of_local_transaction[5];

13 DATE_OF_LOCAL_TRANSACTION N4

chardate_of_settlement[5];

15 DATE_OF_SETTLEMENT N4

chardate_of_capture[5];

17 DATE_OF_CAPTURE N4

charbusiness_type[4];

18 BUSINESS_TYPE AN3

charpoint_of_service_entry_mode[4];

22 POINT_OF_SERVICE_ENTRY_MODE N3

charpoint_of_service_PIN_capture_code[3];

26 POINT_OF_SERVICE_PIN_CAPTURE_CODE N2

doublefee_of_transaction;

28 FEE_OF_TRANSACTION N8

doublefee_of_settlement;

29 FEE_OF_SETTLEMENT X+N8

characquiring_institution_id_code[12];

32 ACQUIRING_INSTITUTION_IDENTIFICATION_CODE N..11(LLVAR)

charforwarding_institution_id_code[12];

33 FORWARDING_INSTITUTION_IDENTIFICATION_CODE N..11(LLVAR)

chartrack_2_data[38];

35 TRACK_2_DATA Z...37(LLVAR)

chartrack_3_data[105];

36 TRACK_3_DATA Z...104(LLLVAR)

longretrieval_reference_number;

37 RETRIEVAL_REFERENCE_NUMBER AN12

charauth_id_response[7];

38 AUTHORIZATION_IDENTIFICATION_RESPONSE AN6

charresponse_code[3];

39 RESPONSE_CODE AN2

charcard_acceptor_terminal_id[9];

41 CARD_ACCEPTOR_TERMINAL_IDENTIFICATION ANS8

前两位的定义如下
:

51 ATM
终端

52
银行
POS

53
商户
POS

charcard_acceptor_id_code[16];

42 CARD_ACCEPTOR_IDENTIFICATION_CODE ANS15

charcard_acceptor_name_location[41];

43 CARD_ACCEPTOR_NAME_LOCATION ANS40

charadditional_response_data[26];

44 ADDITIONAL_RESPONSE_DATA ANS..25(LLVAR)

charbroadcasted_message[1000];

48 BROADCASTED_MESSAGE ANS...999

charcurrency_code_of_transaction[4];

49 CURRENCY_CODE_OF_TRANSACTION AN3

charcurrency_code_of_settlement[4];

50 CURRENCY_CODE_OF_SETTLEMENT AN3

charPIN[8];

52 PIN_DATA B64

AB8583_Security_Ctrl_Infosecurity_ctrl_info;

53 SECURITY_RELATED_CONTROL_INformATION N16

SYNC_COUNTER N8

密钥同步计数器

RESERVED N7

KEY_TYPE N1

1
用于交换中心和成员行机构之间的
PIN
加密解密

2
用于交换中心和成员行机构之间的
MAC
计算

3
用于成员行和终端之间的
PIN
加密解密

AB8583_Balance_Amountbalance_amount;

54 BALANCE_AMOUNT AN43

LENGTH N3(040)

LEDGER_BALANCE_AMOUNT

ACCOUNT_TYPE N2(CC=30,SC=10)

AMOUNT_TYPE N2(01)

CURRENCY_CODE AN3(156)

AMOUNT X+N12

AVAILABLE_BALANCE_AMOUNT

ACCOUNT_TYPE N2(CC=30,SC=10)

AMOUNT_TYPE N2(01)

CURRENCY_CODE AN3(156)

AMOUNT X+N12

charsecond_account_number[20];

55 SECOND_ACCOUNT_NUMBER N...19(LLVAR)

AB8583_Message_Indicatormessage_indicator;

60 MESSAGE_INDICATOR N...005(LLLVAR)

ENCRYPTION_KEY_USED N1

PIN
加密
/

密所使用的密钥标识
,
定义如下
:

0
不加密

1
旧密钥

2
新密钥

MAC_KEY_USED N1

0
不加密

1
旧密钥

2
新密钥

MESSAGE_EFFECT N1

0
消息用于生产环境

1
消息用于测试环境

2 ATM
取款交易对帐标志

3
保留

4
银行
POS
取款交易对帐标志

5
银行
POS
存款交易对帐标志

6
商用
POS
消费交易对帐标志

7
商用
POS
退款交易对帐标志

NO_OF_UNLOGGED_TXNS N2

AB8583_Auth_Operation_Codeauth_operation_code;

61 AUTHORIZATION_OPERATION_CODE N...022(LLLVAR)

AUTHORIZATION_FUNCTION_CODE N1

0
授权

1
撤消授权

2
消费

3
退款

4
取款

5
查询

AUTHORIZATION_MODE N1

0
不需授权

1
需授权

AUTH_ID_RESPONSE_CODE N6

SERVICE_BUSINESS_CODE N4

INVOICE_NUMBER N10

charauthorizing_agent_institution_id_code[12];

62 AUTHORIZING_AGENT_INSTITUTION_IDENTIFICATION_CODE N...011(LLLVAR)

chardestination_institution_id_code[12];

63 DESTINATION_INSTITUTION_IDENTIFICATION_CODE N...011(LLLVAR)

64

charsettlement_code;

66 SETTLEMENT_CODE N1

charnetwork_management_information_code[4];

70 NETWORK_MANAGEMENT_INformATION_CODE N3

chardate_of_action[7];

73 DATE_OF_ACTION N6

longnumber_of_credits;

74 NUMBER_OF_CREDITS N10

longreversal_number_of_credits;

75 REVERSAL_NUMBER_OF_CREDITS N10

longnumber_of_debits;

76 NUMBER_OF_DEBITS N10

longrevsersal_number_of_debits;

77 REVERSAL_NUMBER_OF_DEBITS N10

longnumber_of_transfer;

78 NUMBER_OF_TRANSFER N10

longreversal_number_of_transfer;

79 REVERSAL_NUMBER_OF_TRANSFER N10

longnumber_of_inquiries;

80 NUMBER_OF_INQUIRIES N10

doubleprocessing_fee_amount_of_credits;

82 PROCESSING_FEE_AMOUNT_OF_CREDITS N12

doubleprocessing_fee_amount_of_debits;

84 PROCESSING_FEE_AMOUNT_OF_DEBITS N12

doubleamount_of_credits;

86 AMOUNT_OF_CREDITS N16

doublereversal_amount_of_credits;

87 REVERSAL_AMOUNT_OF_CREDITS N16

doubleamount_of_debits;

88 AMOUNT_OF_DEBITS N16

doublereversal_amount_of_debits;

89 REVERSAL_AMOUNT_OF_DEBITS N16

AB8583_Original_Data_Elementsoriginal_data_elements;

90 ORIGINAL_DATA_ELEMENTS N42

冲正交易所用的原始数据记录
,
内容如下
:

ORIGINAL_DATA_ELEMENTS

ORG_MESSAGE_TYPE N4

ORG_SYSTEM_TRACE_NUMBER N6

ORG_TRANSACTION_DATA_TIME N10

ORG_ACQR_INST_ID_CODE N11

ORG_FORW_INST_ID_CODE N11

AB8583_Replacement_Amountsreplacement_amounts;

95 REPLACEMENT_AMOUNTS AN42

charmessage_securty_code[8];

96 MESSAGE_SECURTY_CODE B64

doubleamount_of_net_settlement;

97 AMOUNT_OF_NET_SETTLEMENT X+N16

charsettlement_institution_id_code[12];

99 SETTLEMENT_INSTITUTION_IDENTIFICATION_CODE N...11(LLVAR)

charreceiveing_institution_id_code[12];

100 RECEIVEING_INSTITUTION_IDENTIFICATION_CODE N...11(LLVAR)

charsender_institution_id_code[12];

120 SENDER_INSTITUTION_IDENTIFICATION_CODE N...11(LLVAR)

longsender_reference_number;

121 SENDER_REFERENCE_NUMBER AN12

charMAC[8];

128 MESSAGE_AUTHENTICATION_CODE B64
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: