1.文档说明

此接口衍生于中国银联《销售点终端(POS)应用规范》,文件中相关报文域的定义和取值、对终端在受理金融IC卡的要求,请参见上述规范。

注:此接口的交易记录要素衍生于《销售点终端(POS)应用规范》中的“离线结算交易”。

2.电子现金脱机交易上传文件

2.1 文件名

此文件由POS终端、商户系统生成,文件名格式组成为“8位日期+15位商户号+8位终端号+3位批次号”(YYYYMMDD88888888888888877777777001),总共34位,其中日期为POS终端填写的脱机交易文件上传的日期,批次号需由POS终端保证在每日上传的脱机交易文件中不重复。文件中可以包含多个商户多个终端的交易,文件名中的商户号和终端号为其中之一即可。

通过银联商户服务平台上传方式,文件必须为ZIP压缩格式,文件名需带后缀.zip,文件尾的MD5为文件压缩前的MD5。

系统对接的方式,201411月底支持文件的ZIP压缩格式,文件名格式组成为“ZP+6位日期+15位商户号+8位终端号+3位批次号”(ZPYYMMDD88888888888888877777777001),总共34位,文件名不带.zip后缀,文件MD5为文件压缩前的MD5。

2.2 文件头

目前仅支持文件版本号取值为0001的情况,其它取值预计201412月底前支持。

位置

属性

类型

内容(I

备注

0

ans34

ASCII

文件名

1、人工通过商户服务平台直接提交文件和采用系统对接的方式无需填写,也不留空格。

2、通过手机和PC机客户端提交文件的方式由POS终端必填,客户端删除,不参与MD5运算。

34

ans4

ASCII

文件版本号

必填。

取值的含义:第1位保留使用;第2位取值代表交易中是否上送行业信息(0代表不上送;1代表上送);第3位取值代表反馈文件中要求包含的交易种类(0代表包含上送的全部交易;1代表仅包含失败交易);第4位取值代表文件的版本号,适用于对其他域的扩展,目前固定取值为1.具体取值如下:

1、     不带行业信息(63.2.4域)且要求反馈文件中包含所有上送的交易(成功和失败)填写0001

2、     不带行业信息(63.2.4域)且要求反馈文件中仅包含失败交易填写0011

3、     带行业信息(63.2.4域)且要求反馈文件中包含所有上送的交易(成功和失败)填写0101

4、     带行业信息(63.2.4域)且要求反馈文件中仅包含失败交易填写0111

38

n8

HEX

文件体长度

必填。

注:长度不包括文件头和文件尾

46

ans1

ASCII

MAC校验和交易加密标志

必填。

取值有四种:1、验MAC、交易加密 2、不验MAC、交易加密 3、验MAC、交易不加密 4、不验MAC、交易不加密

注:由于文件体中可以包含多个商户多个终端的交易记录,因此所有商户该标志必须保持统一的取值配置,否则交易会被系统拒绝。

47

ans5

ASCII

总交易笔数

必填。

单个文件中支持最大99999笔交易、最小0笔,长度不够左补0

52

ans12

ASCII

总交易金额

必填。

精确到分,长度不够左补0

2.3 文件体中每条交易记录的格式

根据文件头中“MAC校验和交易加密标志”的取值的不同,交易记录的格式也不同

格式一、若文件头中“MAC校验和交易加密标志”取值为1(验MAC、交易加密),则交易记录的格式如下

位(域)

域名定义

属性

格式

类型

长度(字节)

请求

   


报文长度

N4


HEX

2

M

该笔交易的报文长度(不包括报文长度)

因子1

41域)

受卡机终端标识码

ans8


ASCII

8

M

终端代码

因子2
   
42域)

受卡方标识码

ans15


ASCII

15

M

商户代码

因子3

11域)

受卡方系统跟踪号

N6


BCD

3

M

POS终端交易流水

因子4

12域)

受卡方所在地时间

N6

hhmmss

BCD

3

M

交易发生时终端的时间

因子5

13域)

受卡方所在地日期

N4

MMDD

BCD

2

M

交易发生时终端的日期


报文头

 N12


BCD

6

M



除分散因子外的报文域的密文





M

报文密文

交易记录中报文密文解密后的格式

位(域)

域名定义

属性

格式

类型

长度(字节)

请求

   


消息类型

N4


BCD

2

0200

MSG-TYPE-ID


位元表

B64


BINARY

8

M

BIT   MAP

2

主账号

n..21

LLVAR

BCD

变长

M

22域指明非磁条输入且可判卡号

3

交易处理码

N6


BCD

3

M

00xxxx

4

交易金额

N12


BCD

6

M


14

卡有效期

N4

YYMM

BCD

2

C1

C1POS能判断时存在

C2:具有有效期的卡存在

22

服务点输入方式码

N3


BCD

2

M


23

卡片序列号

n3


BCD

2

C

C:POS能够获得该值时存在;

25

服务点条件码

N2


BCD

1

M

00

26

服务点PIN获取码

n2


BCD

1

C

22域指明PIN可输入且持卡人输入了PIN

49

交易货币代码

an3


ASCII

3

M


55

IC卡数据域

最大255字节数据

LLLVAR

包含多个子域

2


以下子域中的M仅当该交易为IC卡交易时有效,长度为子域tag+子域长度+子域取值的总长

9F26tag

应用密文

b64


BINARY

11

M

存放TC结果

9F27tag

应用信息数据

b8


BINARY

4

M

存放TC结果

9F10tag

发卡行应用数据

b…256

VAR

BINARY

35

M


9F37tag

不可预知数

b32


BINARY

7

M


9F36tag

应用交易计数器

b16


BINARY

5

M

C:若处理中心返回应答,则在响应中出现,并与请求中的内容一致

95tag

终端验证结果

b40


BINARY

7

M


9Atag

交易日期

n6


BCD

5

M


9Ctag

交易类型

n2


BCD

3

M


9F02tag

交易金额

n12


BCD

9

M


5F2Atag

交易货币代码

n3


BCD

5

M


82tag

应用交互特征

b16


BINARY

4

M


9F1Atag

终端国家代码

n3


BCD

5

M


9F03tag

其它金额

n12


BCD

9

M

1

9F33tag

终端性能

b24


BINARY

6

M


9F1Etag

接口设备序列号

an8


ASCII

11

C

如果终端标识不能隐含确定接口设备序列号,则出现

84tag

专用文件名称

b…128

VAR

BINARY

18

O


9F09tag

应用版本号

b16


BINARY

5

O


9F41tag

交易序列计数器

n…4

VAR

BCD

5

O


9F34tag

持卡人验证结果

b24


BINARY

6

O


9F35tag

终端类型

n2


BCD

4

O


9F63

卡产品标识

b128


BINARY

19

C

当终端能够获取卡标识信息时,本域出现;否则,本域不出现

9F74

tag

电子现金发卡行授权码

a6


ASCII

9

C

小额支付应用且能获取时,必须上送该tag

8A

tag

授权响应码

an2


ASCII

4

M

取值如下:

Y1:脱机接受

Y3:不能联机(脱机接受)

60

自定义域

n017

LLLVAR

BCD

2

M

包含5个子域

60.1

交易类型码

n2


BCD

1

M

36

60.2

批次号

n6


BCD

3

M


60.3

网络管理码

n3


BCD

2

C

有后续子域存在时,本域才出现。非网络管理类交易,此处以缺省值0000填充

60.4

终端读取能力

n1


BCD

0.5

C

仅在IC卡交易和Fall Back情况下出现

60.5

基于PBOC/贷记标准的IC卡条件代码

n1


BCD

0.5

C

仅在IC卡交易和Fall Back情况下出现

63

自定义域

ans...063

LLLVAR

ASCII

2

M

包含2个子域

63.1

国际信用卡公司代码

an3


ASCII

3

M


63.2.4

自定义域(行业信息)

ans60


ASCII

      60

C

POS终端需要传送特殊信息时出现

64

MAC

b64


BINARY

8

M

响应消息中39域为“00”时必选

格式二、若文件头中“MAC校验和交易加密标志”取值为2(不验MAC、交易加密),则交易记录的格式如下 

域名定义

属性

格式

类型

长度(字节)

请求

   


报文长度

N4


HEX

2

M


因子1

41域)

受卡机终端标识码

ans8


ASCII

8

M

终端代码

因子2
   
42域)

受卡方标识码

ans15


ASCII

15

M

商户代码

因子3

11域)

受卡方系统跟踪号

N6


BCD

3

M

POS终端交易流水

因子4

12域)

受卡方所在地时间

N6

hhmmss

BCD

3

M

交易发生时终端的时间

因子5

13域)

受卡方所在地日期

N4

MMDD

BCD

2

M

交易发生时终端的日期


报文头

 N12


BCD

6

M


报文密文

除分散因子外的报文域的密文





M


交易记录中报文密文解密后的格式 

域名定义

属性

格式

类型

长度(字节)

请求

   


消息类型

N4


BCD

2

0200

MSG-TYPE-ID


位元表

B64


BINARY

8

M

BIT   MAP

2

主账号

n..21

LLVAR

BCD

变长

M

22域指明非磁条输入且可判卡号

3

交易处理码

N6


BCD

3

M

00xxxx

4

交易金额

N12


BCD

6

M


14

卡有效期

N4

YYMM

BCD

2

C1

C1POS能判断时存在

C2:具有有效期的卡存在

22

服务点输入方式码

N3


BCD

2

M


23

卡片序列号

n3


BCD

2

C

C:POS能够获得该值时存在;

25

服务点条件码

N2


BCD

1

M

00

26

服务点PIN获取码

n2


BCD

1

C

22域指明PIN可输入且持卡人输入了PIN

49

交易货币代码

an3


ASCII

3

M


55

IC卡数据域

最大255字节数据

LLLVAR

包含多个子域

2


以下子域中的M仅当该交易为IC卡交易时有效,长度为子域tag+子域长度+子域取值的总长

9F26tag

应用密文

b64


BINARY

11

M

存放TC结果

9F27tag

应用信息数据

b8


BINARY

4

M

存放TC结果

9F10tag

发卡行应用数据

b…256

VAR

BINARY

35

M


9F37tag

不可预知数

b32


BINARY

7

M


9F36tag

应用交易计数器

b16


BINARY

5

M

C:若处理中心返回应答,则在响应中出现,并与请求中的内容一致

95tag

终端验证结果

b40


BINARY

7

M


9Atag

交易日期

n6


BCD

5

M


9Ctag

交易类型

n2


BCD

3

M


9F02tag

交易金额

n12


BCD

9

M


5F2Atag

交易货币代码

n3


BCD

5

M


82tag

应用交互特征

b16


BINARY

4

M


9F1Atag

终端国家代码

n3


BCD

5

M


9F03tag

其它金额

n12


BCD

9

M

1

9F33tag

终端性能

b24


BINARY

6

M


9F1Etag

接口设备序列号

an8


ASCII

11

C

如果终端标识不能隐含确定接口设备序列号,则出现

84tag

专用文件名称

b…128

VAR

BINARY

18

O


9F09tag

应用版本号

b16


BINARY

5

O


9F41tag

交易序列计数器

n…4

VAR

BCD

5

O


9F34tag

持卡人验证结果

b24


BINARY

6

O


9F35tag

终端类型

n2


BCD

4

O


9F63

卡产品标识

b128


BINARY

19

C

当终端能够获取卡标识信息时,本域出现;否则,本域不出现

9F74

tag

电子现金发卡行授权码

a6


ASCII

9

C

小额支付应用且能获取时,必须上送该tag

8A

tag

授权响应码

an2


ASCII

4

M

取值如下:

Y1:脱机接受

Y3:不能联机(脱机接受)

60

自定义域

n017

LLLVAR

BCD

2

M

包含5个子域

60.1

交易类型码

n2


BCD

1

M

36

60.2

批次号

n6


BCD

3

M


60.3

网络管理码

n3


BCD

2

C

有后续子域存在时,本域才出现。非网络管理类交易,此处以缺省值0000填充

60.4

终端读取能力

n1


BCD

0.5

C

仅在IC卡交易和Fall Back情况下出现

60.5

基于PBOC/贷记标准的IC卡条件代码

n1


BCD

0.5

C

仅在IC卡交易和Fall Back情况下出现

63

自定义域

ans...063

LLLVAR

ASCII

2

M

包含2个子域

63.1

国际信用卡公司代码

an3


ASCII

3

M


63.2.4

自定义域(行业信息)

ans60


ASCII

      60

C

POS终端需要传送特殊信息时出现

格式三、若文件头中“MAC校验和交易加密标志”取值为3(验MAC、交易不加密),则交易记录的格式如下

域名定义

属性

格式

类型

长度(字节)

请求

   


报文长度

N4


HEX

2

M


因子1

41域)

受卡机终端标识码

ans8


ASCII

8

M

终端代码

因子2
   
42域)

受卡方标识码

ans15


ASCII

15

M

商户代码

因子3

11域)

受卡方系统跟踪号

N6


BCD

3

M

POS终端交易流水

因子4

12域)

受卡方所在地时间

N6

hhmmss

BCD

3

M

交易发生时终端的时间

因子5

13域)

受卡方所在地日期

N4

MMDD

BCD

2

M

交易发生时终端的日期


报文头

 N12


BCD

6

M



消息类型

N4


BCD

2

0200

MSG-TYPE-ID


位元表

B64


BINARY

8

M

BIT    MAP

2

主账号

n..21

LLVAR

BCD

变长

M

22域指明非磁条输入且可判卡号

3

交易处理码

N6


BCD

3

M

00xxxx

4

交易金额

N12


BCD

6

M


14

卡有效期

N4

YYMM

BCD

2

C1

C1POS能判断时存在

C2:具有有效期的卡存在

22

服务点输入方式码

N3


BCD

2

M


23

卡片序列号

n3


BCD

2

C

C:POS能够获得该值时存在;

25

服务点条件码

N2


BCD

1

M

00

26

服务点PIN获取码

n2


BCD

1

C

22域指明PIN可输入且持卡人输入了PIN

49

交易货币代码

an3


ASCII

3

M


55

IC卡数据域

最大255字节数据

LLLVAR

包含多个子域

2


以下子域中的M仅当该交易为IC卡交易时有效,长度为子域tag+子域长度+子域取值的总长

9F26tag

应用密文

b64


BINARY

11

M

存放TC结果

9F27tag

应用信息数据

b8


BINARY

4

M

存放TC结果

9F10tag

发卡行应用数据

b…256

VAR

BINARY

35

M


9F37tag

不可预知数

b32


BINARY

7

M


9F36tag

应用交易计数器

b16


BINARY

5

M

C:若处理中心返回应答,则在响应中出现,并与请求中的内容一致

95tag

终端验证结果

b40


BINARY

7

M


9Atag

交易日期

n6


BCD

5

M


9Ctag

交易类型

n2


BCD

3

M


9F02tag

交易金额

n12


BCD

9

M


5F2Atag

交易货币代码

n3


BCD

5

M


82tag

应用交互特征

b16


BINARY

4

M


9F1Atag

终端国家代码

n3


BCD

5

M


9F03tag

其它金额

n12


BCD

9

M

1

9F33tag

终端性能

b24


BINARY

6

M


9F1Etag

接口设备序列号

an8


ASCII

11

C

如果终端标识不能隐含确定接口设备序列号,则出现

84tag

专用文件名称

b…128

VAR

BINARY

18

O


9F09tag

应用版本号

b16


BINARY

5

O


9F41tag

交易序列计数器

n…4

VAR

BCD

5

O


9F34tag

持卡人验证结果

b24


BINARY

6

O


9F35tag

终端类型

n2


BCD

4

O


9F63

卡产品标识

b128


BINARY

19

C

当终端能够获取卡标识信息时,本域出现;否则,本域不出现

9F74

tag

电子现金发卡行授权码

a6


ASCII

9

C

小额支付应用且能获取时,必须上送该tag

8A

tag

授权响应码

an2


ASCII

4

M

取值如下:

Y1:脱机接受

Y3:不能联机(脱机接受)

60

自定义域

n017

LLLVAR

BCD

2

M

包含5个子域

60.1

交易类型码

n2


BCD

1

M

36

60.2

批次号

n6


BCD

3

M


60.3

网络管理码

n3


BCD

2

C

有后续子域存在时,本域才出现。非网络管理类交易,此处以缺省值0000填充

60.4

终端读取能力

n1


BCD

0.5

C

仅在IC卡交易和Fall Back情况下出现

60.5

基于PBOC/贷记标准的IC卡条件代码

n1


BCD

0.5

C

仅在IC卡交易和Fall Back情况下出现

63

自定义域

ans...063

LLLVAR

ASCII

2

M

包含2个子域

63.1

国际信用卡公司代码

an3


ASCII

3

M


63.2.4

自定义域(行业信息)

ans60


ASCII

      60

C

POS终端需要传送特殊信息时出现

64

MAC

b64


BINARY

8

M

响应消息中39域为“00”时必选

格式四、若文件头中“MAC校验和交易加密标志”取值为4(不验MAC、交易不加密),则交易记录的格式如下

域名定义

属性

格式

类型

长度(字节)

请求

   


报文长度

N4


HEX

2

M


因子1

41域)

受卡机终端标识码

ans8


ASCII

8

M

终端代码

因子2
   
42域)

受卡方标识码

ans15


ASCII

15

M

商户代码

因子3

11域)

受卡方系统跟踪号

N6


BCD

3

M

POS终端交易流水

因子4

12域)

受卡方所在地时间

N6

hhmmss

BCD

3

M

交易发生时终端的时间

因子5

13域)

受卡方所在地日期

N4

MMDD

BCD

2

M

交易发生时终端的日期


报文头

 N12


BCD

6

M



消息类型

N4


BCD

2

0200

MSG-TYPE-ID


位元表

B64


BINARY

8

M

BIT    MAP

2

主账号

n..21

LLVAR

BCD

变长

M

22域指明非磁条输入且可判卡号

3

交易处理码

N6


BCD

3

M

00xxxx

4

交易金额

N12


BCD

6

M


14

卡有效期

N4

YYMM

BCD

2

C1

C1POS能判断时存在

C2:具有有效期的卡存在

22

服务点输入方式码

N3


BCD

2

M


23

卡片序列号

n3


BCD

2

C

C:POS能够获得该值时存在;

25

服务点条件码

N2


BCD

1

M

00

26

服务点PIN获取码

n2


BCD

1

C

22域指明PIN可输入且持卡人输入了PIN

49

交易货币代码

an3


ASCII

3

M


55

IC卡数据域

最大255字节数据

LLLVAR

包含多个子域

2


以下子域中的M仅当该交易为IC卡交易时有效,长度为子域tag+子域长度+子域取值的总长

9F26tag

应用密文

b64


BINARY

11

M

存放TC结果

9F27tag

应用信息数据

b8


BINARY

4

M

存放TC结果

9F10tag

发卡行应用数据

b…256

VAR

BINARY

35

M


9F37tag

不可预知数

b32


BINARY

7

M


9F36tag

应用交易计数器

b16


BINARY

5

M

C:若处理中心返回应答,则在响应中出现,并与请求中的内容一致

95tag

终端验证结果

b40


BINARY

7

M


9Atag

交易日期

n6


BCD

5

M


9Ctag

交易类型

n2


BCD

3

M


9F02tag

交易金额

n12


BCD

9

M


5F2Atag

交易货币代码

n3


BCD

5

M


82tag

应用交互特征

b16


BINARY

4

M


9F1Atag

终端国家代码

n3


BCD

5

M


9F03tag

其它金额

n12


BCD

9

M

1

9F33tag

终端性能

b24


BINARY

6

M


9F1Etag

接口设备序列号

an8


ASCII

11

C

如果终端标识不能隐含确定接口设备序列号,则出现

84tag

专用文件名称

b…128

VAR

BINARY

18

O


9F09tag

应用版本号

b16


BINARY

5

O


9F41tag

交易序列计数器

n…4

VAR

BCD

5

O


9F34tag

持卡人验证结果

b24


BINARY

6

O


9F35tag

终端类型

n2


BCD

4

O


9F63

卡产品标识

b128


BINARY

19

C

当终端能够获取卡标识信息时,本域出现;否则,本域不出现

9F74

tag

电子现金发卡行授权码

a6


ASCII

9

C

小额支付应用且能获取时,必须上送该tag

8A

tag

授权响应码

an2


ASCII

4

M

取值如下:

Y1:脱机接受

Y3:不能联机(脱机接受)

60

自定义域

n017

LLLVAR

BCD

2

M

包含5个子域

60.1

交易类型码

n2


BCD

1

M

36

60.2

批次号

n6


BCD

3

M


60.3

网络管理码

n3


BCD

2

C

有后续子域存在时,本域才出现。非网络管理类交易,此处以缺省值0000填充

60.4

终端读取能力

n1


BCD

0.5

C

仅在IC卡交易和Fall Back情况下出现

60.5

基于PBOC/贷记标准的IC卡条件代码

n1


BCD

0.5

C

仅在IC卡交易和Fall Back情况下出现

63

自定义域

ans...063

LLLVAR

ASCII

2

M

包含2个子域

63.1

国际信用卡公司代码

an3


ASCII

3

M


63.2.4

自定义域(行业信息)

ans60


ASCII

      60

C

POS终端需要传送特殊信息时出现

2.4 文件尾

位置

属性

类型

内容(I

备注

0

N32

ASCII

MD5

1、人工通过商户服务平台直接提交文件的方式必填。未对文件压缩前的MD5

2、系统对接、手机和PC机客户端提交文件的方式无需填写(不填空格)。

2.5 文件说明

1. 文件采用顺序文件的格式,顺序文件的结构如下图所示:

文件头记录

交易记录1

交易记录2

。。。。

交易记录N

文件尾

顺序文件由文件头记录和文件体组成,文件体由一条或多条交易记录组成,文件头定长,每条交易记录对应一笔交易,实际上这些记录并不是独立的行,而是连续的“流”,即记录与记录之间无回车换行符等其它符号。

2. 报文密文解密后的格式与中国银联《销售点终端(POS)应用规范》中定义的“基于PBOC借/贷记标准的IC卡离线交易”报文要求基本相同,差异为: 12域、13域必须由终端上送,为终端真实的交易日期和时间。但是11域、12域、13域、41域、42域放到报文长度和报文头之间做为分散因子计算MAC秘钥和报文加密秘钥。顺序文件由文件头记录和文件体组成,文件体由一条或多条交易记录组成,文件头定长,每条交易记录对应一笔交易,实际上这些记录并不是独立的行,而是连续的“流”,即记录与记录之间无回车换行符等其它符号。

3. POS终端仅上送文件头和加密后的文件体,文件尾由客户端或商户系统补充且不参与整个文件的MD5运算。

4.通过商户服务平台上传的文件必须压缩成.zip格式,文件尾MD5取值为文件未压缩前对文件计算的MD5;通过手机或PC机客户端上传到平台的文件无需压缩,客户端计算整个文件MD5,然后放到文件尾;通过系统对接上传不能压缩文件,后续会支持.zip格式。

2.6 文件样例

以人工登入商户服务系统手工提交的文件格式说明:

1. 交易报文不加密不计算MAC;

2. 非压缩文件;

3. 文件版本号为0001;

4. 系统对接的文件格式,手工删除文件尾32字节的MD5即可。

3.电子现金脱机交易反馈文件

3.1 文件名

此文件由银联收单系统生成传递商户服务系统供商户获取,如果上传文件未压缩,则文件名组成为“8位日期+15位商户号+8位终端号+3位批次号+R”(YYYYMMDD88888888888888877777777001R);如果上传文件为压缩文件,则文件名组成为“ZP+2位日期+15位商户号+8位终端号+3位批次号+R”(ZPYYMMDD88888888888888877777777001R),总共35位,前34位同上传文件的文件名,最后1位为固定取值R。

通过银联商户服务平台上传方式,反馈文件为非ZIP压缩格式,文件名不带后缀.zip。

系统对接的方式,反馈文件均为非压缩格式。

3.2 文件头

位置

属性

类型

内容(I

备注

0

N4

ASCII

版本号

必填,根据上送文件的版本号返回。

取值的含义:第1位保留使用;第2位取值代表交易中是否上送行业信息(0代表不上送;1代表上送);第3位取值代表反馈文件中要求包含的交易种类(0代表包含上送的全部交易;1代表仅包含失败交易);第4位取值代表文件的版本号,适用于对其他域的扩展,目前固定取值为1.具体取值如下:

1、      不带行业信息(63.2.4域)且要求反馈文件中包含所有上送的交易(成功和失败)填写0001

2、      不带行业信息(63.2.4域)且要求反馈文件中仅包含失败交易填写0011

3、      带行业信息(63.2.4域)且要求反馈文件中包含所有上送的交易(成功和失败)填写0101

4、      带行业信息(63.2.4域)且要求反馈文件中仅包含失败交易填写0111

4

N8

HEX

文件体长度

必填。

8

N1

ASCII

MAC校验和交易加密标志

必填。取值有四种:1、验MAC、交易加密 2、不验MAC、交易加密 3、验MAC、交易不加密 4、不验MAC、交易不加密

9

N5

ASCII

总交易笔数

必填。

单个文件中支持最大99999笔交易、最小0笔,长度不够左补0

14

N12

ASCII

总交易金额

必填。

精确到分,长度不够左补0

3.3 文件尾

位置

属性

类型

内容O

备注

0

N5

ASCII

成功记录数

必填

5

N5

ASCII

失败记录数

必填

10

N12

ASCII

成功交易金额

必填

精确到分

22

N12

ASCII

失败交易金额

必填

精确到分

34

N1

ASCII

文件装载标志

必填

取值有三种:1、记录全部拒绝;2、记录部分拒绝;、3、记录全部提交成功

3.4 文件体


为方便商户的收单机构通过银联的收单服务平台补登被银联系统拒绝的交易,文件体中交易记录所包含的交易要素均为补登操作必备的要素。

如果上传文件版本号第3位取值为0,则包括成功和拒绝的交易记录;如果取值为1,仅包含被拒绝的交易记录(应答码非00)。

域名定义

属性

类型

应答

字节

起始位置

2

主账号

n21

ASCII

M

21

0

4

交易金额

n12

ASCII

M

12

21

49

交易货币代码

n3

ASCII

M

3

33

7

交易传输时间

n10

ASCII

M

10

36

11

系统跟踪号

n6

ASCII

M

6

46

37

检索参考号

an12

ASCII

M

12

52

32

受理机构代码

n11

ASCII

M

11

64

33

发送机构代码

n11

ASCII

M

11

75

18

商户类型

n4

ASCII

M

4

86

41

受卡机终端标识码

ans8

ASCII

M

8

90

42

受卡方标识码

an15

ASCII

M

15

98

43

受卡方名称地址

ans40

ASCII

M

40

113

60.3.1

特殊计费标志

n2

ASCII

M

2

153

60.3.2

特殊计费档次

n1

ASCII

M

1

155

9a(tag)

交易日期

n6

ASCII

M

6

156

14

卡有效期

n4

ASCII

M

4

162

22

服务点输入方式码

n3

ASCII

M

3

166

23

卡片序列号

n3

ASCII

M

3

169

9f26(tag)

应用密文

an16

ASCII

M

16

172

9f10(tag)

发卡行应用数据

an64

ASCII

M

64

188

9f37(tag)

不可预知数

an8

ASCII

M

8

252

9f36(tag)

应用交易计数器

an4

ASCII

M

4

260

95(tag)

终端验证结果

an10

ASCII

M

10

264

82(tag)

应用交互特征

an4

ASCII

M

4

274

9f1a(tag)

终端国家代码

n3

ASCII

M

3

278

9f33(tag)

终端性能

an6

ASCII

M

6

281

60.4

终端读取能力

n1

ASCII

M

1

287

15

清算日期

n8

ASCII

M

8

288

12

受卡方所在地时间

n6

ASCII

M

6

296

38

应答码

n2

ASCII

M

2

302

63.2.4

自定义域(行业信息)

ans60

ASCII

C

60

304

注:具体的应答码含义参见中国银联《销售点终端(POS)应用规范》。

3.5 文件说明


采用流水文件的格式,流水文件的结构如下:

文件头

记录1:字段1 字段2        。。。。。。。。。。        字段N

记录2:字段1 字段2        。。。。。。。。。。        字段N

记录3:字段1 字段2        。。。。。。。。。。        字段N     

。。。。。。。。。。。。。。。。。。。                      

记录N:字段1 字段2        。。。。。。。。。。        字段N

文件尾

流水文件结构图

――在同一个文件中,每一行的长度相同;

――每一行是一条记录,表示一笔交易;

――每一行的最后一个域之后跟一个回车换行符(0x0D,0x0A)

――域和域之间没有空格,如果某个字段长度不够,对于字符形式的需要左对齐,右补空格,交易金额没有小数点并以分为单位。

4.密钥安全标准

在本接口中,除了遵循银联直联终端规范和联网联合规范所定义的安全要求之外,其他所有对称加解密全部采用双倍长密钥的3DES算法,所有非对称加解密全部采用密钥长度为1024位的RSA算法。在终端在灌装主密钥时,建议一并把银联IC卡公钥和IC卡参数灌装到终端中,终端的IC卡公钥和IC卡参数文件可由银联分公司或商户的收单机构在“银联商户管理平台->直联商户信息维护->终端参数维护”中查询到已入网终端后下载,界面如下:

blob.png

本方案中所涉及的密钥及其用途和管理方式如下表所示:

密钥名称

密钥长度

密钥用途

管理方式

POS终端主密钥(TMK)

16字节

用于分散交易记录MAC值的密钥

POS终端中

脱机交易记录mac密钥

(DMACK)

16字节

用于计算交易记录的MAC值

POS终端中(由 TMK 分散)

DMACK是交易记录的MAC密钥,由相应的POS终端主密钥(TMK)分散而来。分散因子如下:商户号(F42)、终端号(F41)、终端流水号(F11)、交易时间(F12) 、交易日期(F13)。

注:分散因子放在每笔交易记录的报文长度的后面,在报文头前面。

1. 算法数据说明:

DivData1   商户号(15+ 80

DivData2 【终端号(8字节)】+【终端流水号(3字节)】 +【交易时间(3)】

+交易日期(2)】

2. DMACK生成流程说明:

blob.png

3.分散流程详细说明:

步骤1:通过TMK做3DES加密产生UDK,待加密的数据为:DivData1。

步骤2:通过UDK做3DES加密产生MAK,待加密的数据为:DivData2。

上述的MAK就是最终的工作密钥,长度为十六字节。随每笔交易的不同而动态变化

4.报文算MAC:

报文中的分散因子不参与算MAB,剩下的报文域参与算MAB,MAB的组成与中国银联《销售点终端(POS)应用规范》中的组成方式保持一致。但MAK由原来的8字节改成16字节。

5.报文信息加密:

对分散因子外的所有报文域进行3DES加密,加密的结果就是交易记录中的报文密文,加密密钥为MAK。

6.报文信息解密:

用MAK对报文密文解密,解密后的明文后面可能出现填充的字节(加密前为补足8字节的倍数而填充的字节),银联收单平台按照明文中的bitmap解包,解到最后一个域后,直接丢弃剩下的填充字节。

附录A MAC计算和报文加解密过程

一、MAC算法如下(采用9.9算法):

1、分散终端主密钥得到MAK

2、MAC计算数据 = MAB,如果MAB数据长度不是8字节整数倍 则用0x00填充至8字节整数倍;如果正好是整数倍,则不填充。

3、将MAB按8字节一组 分成n组 MAB1、MAB2、MAB3......MABn

4、用用8字节0与MAB1 异或得到MAB1-p

5、用MAK(3DES)加密MAB1-p 得到MAB1-c

6、用MAB1-c 与  MAB2异或得到 MAB2-p

7、用MAK(3DES)加密MAB2-p 得到MAB2-c

8、用MAB2-c 与 MAB3异或得到 MAB3-p

9、用MAK(3DES)加密MAB3-p 得到MAB3-c

10、循环处理一直到最后一个分组异或加密后得到MABn-c ,MABn-c就是最终的MAC值 

二、报文加密

1、分散终端主密钥得到MAK

2、MAC计算数据 = MAB,如果MAB数据长度不是8字节整数倍 则用0x00填充至8字节整数倍;如果正好是整数倍 则不填充。

3、将MAB按8字节一组 分成n组 MAB1、MAB2、MAB3......MABn

4、用MAK(3DES)加密MAB1 得到MAB1-c

5、用MAK(3DES)加密MAB2得到MAB2-c

6、用MAK(3DES)加密MAB3得到MAB3-c

7、用MAK(3DES)加密MABn得到MABn-c

8、顺序MAB1-c、MAB2-c,.......,MABn-c将拼接一起,就是最终的报文密文

附录B 加密机指令

一、计算MAC<0xB261>

说明:解密输入的密钥(TMK)分散后得到工作密钥,然后计算MAC

消息格式:

输入域

长度

类型

备注

命令类型

1

H

0xB2

命令

1

H

0x61

用户保留字

8

H

原样返回

SEK类型

1

H

0:区域主密钥

1:次主密钥

主密钥索引(SEK

2

H

主密钥索引

TMK长度

1

H

81624

输入的TMK密文

N

H


分散次数

1

H

0-3

分散数据

N

H

分散次数*8

临时密钥计算方法

1

H

03DES(单长度临时密钥)

1DOUBLE_ONE_WAY

21次分散(双长度临时密钥)

3:不使用临时密钥     

4:使用银联专用算法分散(IC卡脱机交易)

临时密钥计算数据

N

H

当临时密钥计算方法为3时不存在

MAC计算方式

1

H

09.9

19.19

2PBOC-3des

其他保留

MAC数据长度

2

H


MAC数据

N

H


输出域

长度

类型

备注

应答码

1

A

‘A’

用户保留字

8

H


MAC

8

H





应答码

1

A

E

用户保留字

8

H


错误码

1

H

0x70:非法次主密钥索引号

0x72:无次主密钥

0xC3:分配空间失败

























注:“临时密钥计算方法”使用04(银联专用算法分散(IC卡脱机交易))。

分散次数为0,分散数据为空,“临时密钥计算数据”填入16字节的DivData1和16字节的DivData2。 “MAC计算方式”用0(9.9)。 

举例如下:

B261

0000000000000000

00

0008

10

0CD08C1F041424DE0CD08C1F041424DE

00

04

3939393939393939393933333333338038383838383838381712170828779001

01

00A8

02007000068000008213166259570000091113000000000000000009072000010031353601159F26083B90B4EC84CDE1209F2701409F101307011703900000010A010000088412CF0AA7969F3704BE03C63E9F3602003A950500000000009A031308289C01009F02060000000000095F2A02015682027C009F1A0201569F03060000000000009F74064543433030319F3303E0E1C88A025931001336000834000600000343555000

二、加解密数据<0xB262>

说明:解密输入的密钥(TMK)分散后得到工作密钥,然后加密或解密数据

消息格式:

输入域

长度

类型

备注

命令类型

1

H

0xB2

命令

1

H

0x62

用户保留字

8

H

原样返回

SEK类型

1

H

0:区域主密钥

1:次主密钥

主密钥索引(SEK

2

H

主密钥索引

TMK长度

1

H

81624

输入的TMK密文

N

H


分散次数

1

H

0-3

分散数据

N

H

分散次数*8

临时密钥计算方法

1

H

03DES(单长度临时密钥)

1DOUBLE_ONE_WAY

21次分散(双长度临时密钥)

3:不使用临时密钥     

4:使用银联专用算法分散(IC卡脱机交易)

临时密钥计算数据

N

H

当临时密钥计算方法为3时不存在

加解密标志

1

H

0:解密

1:加密

数据长度

2

H

8字节的整数备

数据

N

H


输出域

长度

类型

备注

应答码

1

A

‘A’

用户保留字

8

H


输出数据长度

2

H


加解密后的数据

8

H





应答码

1

A

E

用户保留字

8

H


错误码

1

H

0x70:非法次主密钥索引号

0x72:无次主密钥

0xC3:分配空间失败

注:“临时密钥计算方法”使用04(银联专用算法分散(IC卡脱机交易))。

分散次数为0,分散数据为空,“临时密钥计算数据”填入16字节的DivData1和16字节的DivData2。

举例如下:

加密:

B262

0000000000000000

00

0008

10

0CD08C1F041424DE0CD08C1F041424DE

00

04

3939393939393939393933333333338038383838383838387790050905490829

01

00A8

02007000068000008212166259570000091113000000000000000001072000010031353601159F2608EA95703344D3A5889F2701409F101307011703900000010A010000088408E972A7119F370406C262319F3602003C950500000000009A031308299C01009F02060000000000015F2A02015682027C009F1A0201569F03060000000000009F74064543433030319F3303E0E1C88A025931001336000835000600000343555000


中国银联版权所有©2002-2019沪 ICP备07032180号