POS终端工作密钥在下载时必须以密文传送,严禁明文传送。
3.1.1.4 POS 终端MAC 的算法
从报文消息类型(MTI)到63域之间的部分构成MAC ELEMEMENT BLOCK (MAB),采用ECB算法,加密结果为64位的MAC,详细算法见附录B。
3.1.1.5 PIN 加密
PIN 加密采用ANSI X9.8 Format(带主账号信息)。
加密算法采用单倍长密钥算法或双倍长密钥算法。POS终端对以上两种加密算法都应支持。 具体的方法见附录A。
4 消息域说明
4.1 说明
POS终端与POS中心之间的消息(Message)是根据《ISO 8583:1987 Bank Card Originated Messages — Interchange Message Specifications — Content For Finalcial Transactions》定义的。
4.2 数据类型
POS终端与POS中心之间的交换消息中,各数据元类型如下所列: —— A 字母向左靠,右部多余部分填空格。
—— AN 字母和/或数字,左靠,右部多余部分填空格。
—— ANS 字母、数字和/或特殊符号,左靠,右部多余部分填空格。 —— AS 字母和/或特殊符号,左靠,右部多余部分填空格。 —— B 二进制bit 位。 —— DD 日。 —— hh 时。
—— LL 可变长域的长度值(二位数)。 —— LLL 可变长域的长度值(三位数)。 —— MM 月。 —— mm 分。
—— N 数值,右靠,首位有效数字前充零。若表示金额,则最右二位为角分。 —— S 特殊符号。 —— ss 秒。
—— VAR 可变长域。
—— X 借贷符号,在数值之前,D 表示借,C 表示贷。 —— YY 年。
—— Z 由ISO 7811 和ISO 7813 制定的磁条卡第二、三磁道的数据类型。 —— CN BCD 压缩编码数值。 对可变长数据元,以下例说明:
—— 变量XYZ 的数据类型为ANS...999(LLLVAR),则表示:该变量中可含字母、数字和特殊符号,最长不超过999 个字符,长度由三位数字确定。
—— 变量XYZ 的数据类型为N...999(LLLVAR),则在压缩时,其长度位用右靠的BCD 码压缩,而其后紧随的数字内容用左靠的BCD 码压缩。这是为了保证有效内容和其位数中间无缺省填充值。若不为偶数位,左靠的数字内容后补零。由于有长度位表征该域有效内容的长度,因此后补零不会改变该域的真实值。
注: 本文档中声明的压缩变量属性是针对POS终端与POS中心之间的消息,POS中心与任何金融机构之间的消息将全部采用ASCII码且不压缩的格式。
4.3 数据元名称及其定义 4.3.1 位图
字段类型:BIT-BIT 长度: 16字节
说明: 如将位图的第一位设为'1',表示使用扩展位图(128个域),否则表示只使用基本位图(64
个域)。 如使用某数据域,应在位图中将相应的位设位'1',如使用41域,需将位图的 41位设为'1'。 选用条件:如使用65到128域,需设位图域第一位为'1'
4.3.2 消息类型
消息类型(Message Type Identifier)
4.3.2.1 变量属性
N4,4个字节的定长数字字符域。
压缩时用BCD码表示的2个字节的定长域。
4.3.2.2 域描述
消息类型。
对于未指明对齐方式的域,按如下进行处理: 1、 数字型:前补0
2、 字符型:后补空格
4.3.3 域2
主账号(Primary Account Number)
4.3.3.1 变量属性
N..19(LLVAR),2个字节的长度值+最大19个字节的主账号,
压缩时用BCD码表示的1个字节的长度值+用左靠BCD码表示的最大10个字节的主账号。
4.3.3.2 域描述
用户主账号,即从磁条卡的第二磁道或第三磁道上获取的账号,或在交易时输入的主账户号,或读IC卡获得的卡号。该账号最多19个数字字符。长度值最大不能超过19。
4.3.3.3 用法
若POS终端通过刷卡获取客户磁条卡的第二和第三磁道信息,则不置该域的值。客户的主账号将由POS中心从POS请求消息中的第二磁道或第三磁道信息上截取,填入此域,并转发给发卡方。POS终端可从应答消息中得到主账号信息。
若交易时操作员在POS终端手输卡号或者通过读IC卡得到卡号,POS终端无法获取客户磁条卡的第二和第三磁道信息,则需在请求消息中置入该域的值,POS中心将以此域为准,并在请求和应答消息中保持不变。
4.3.4 域3
交易处理码(Processing Code)
4.3.4.1 变量属性
N6,6个字节的定长数字字符域,压缩时用BCD码表示的3个字节的定长域。
4.3.5 域4
交易金额(Amount Of Transactions)
4.3.5.1 变量属性
N12,12个字节的定长数字字符域,压缩时用BCD码表示的6个字节的定长域。
4.3.5.2 域描述
交易金额,交易金额不包括任何手续费。
4.3.5.3 用法
交易金额的币种由域49—交易币种(Currency Code Of Transaction)表示。若为人民币则交易金额的单位是人民币的分。
示例 :POS 消费金额为1000 元,则交易金额应为000000100000。
当交易币种为外币时,如果该币种没有小数位,则该域的值代表实际交易金额;如果该币种有两个小数位,则表示方法同人民币;若有三个小数位,则最后一个小数位必须为零。
在查询交易、管理类交易和脚本通知交易中,该域不出现。
4.3.6 域11
受卡方系统跟踪号(System Trace Audit Number)
4.3.6.1 变量属性
N6,6个字节的定长数字字符域,压缩时用BCD码表示的3个字节的定长域。
4.3.6.2 域描述
受卡方(POS交易的POS终端)赋予交易的在某段时间内唯一确定该笔交易的流水号。对POS交易的受卡方来说,该跟踪号与41域(受卡方终端标识码)、42域(受卡方标识码)、60.2域(批次号)和消息类型的组合唯一标识该笔交易。
4.3.6.3 用法
对POS交易,POS终端对发起的每一笔正常交易赋予一个跟踪号。对于冲正交易该域与原始交易保持一致,而对于撤销消息,61.2域(原POS流水号)填原始交易的11域。受卡方系统跟踪号是个关键的数据域。因此POS中心及发卡方在收到消息后保存该值,并在应答消息中原样返回给POS终端。POS终端应用该值和41域(受卡方终端标识码)、42域(受卡方标识码)、60.2域(批次号)、消息类型一起匹配原始请求消息。
4.3.7 域12
受卡方所在地时间(Time Of Local Transaction)
4.3.7.1 变量属性
N6,6个字节的定长数字字符域,压缩时用BCD码表示的3个字节的定长域。
4.3.7.2 域描述
交易发生时,受卡方所在地时间。格式为hhmmss,其中hh为小时,mm为分,ss为秒。
4.3.7.3 用法
POS中心收到POS终端的请求消息时,POS中心赋予所在地时间。发卡方在收到请求消息后保存该值,并在应答消息中原样返回给POS中心。POS中心将把12域和13域一起返回给POS终端。
受卡方所在地时间的取值范围: —— hh: 00-23 —— mm: 00-59 —— ss: 00-59
4.3.8 域13
受卡方所在地日期(Date Of Local Transaction)
4.3.8.1 变量属性
N6,6个字节的定长数字字符域,压缩时用BCD码表示的3个字节的定长域。
4.3.8.2 域描述
交易发生时,受卡方所在地日期。
格式为YYMMDD,其中YY为年份,MM为月份,DD为日。
4.3.8.3 用法
POS中心收到POS终端的请求消息时,POS中心赋予POS中心所在地日期,其具体用途详见域12说明。受卡方所在地日期的取值范围: