




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
手机支付协议规范(商用版 V15) 本规范定义POS机与SEIMMA卡之间的通讯规范及协议。 本规范中定义的四种应用类型,允许相互嵌套使用。 2文件结构概要图MF(用于PSE)EF(PSE目录)EF(KEY File)EFSFI21(包含公共信息数据)EFSFI22(包含签名信息数据)EFSFI23(包含图片信息数据)DF(EP应用ADF)DF(银行卡应用ADF)DF(身份识别应用ADF)DF(电子票据应用ADF)EFSFI01(包含EP基本数据)EFSFI21(包含磁道信息数据)EFSFI01(包含身份识别基本数据)EFSFI01(包含电子票据基本数据)EFSFI21(包含公共应用基本数据)EFSFI23(包含磁卡交易明细数据)EFSFI24(包含身份识别使用明细)EFSFI24(包含身份识别使用明细)EFSFI22(包含持卡人信息)EF(KEY File)EFSFI24(包含交易明细)EF(KEY File)图-2.0文件结构图3上海锦诺信息科技有限公司41734138.doc3操作流程下图为设备使用示意图PC/POS机读写器手机(含SEIMMA卡)图-3.0设备使用示意图3.1银行卡交易流程及协议POS机与SEIMMA卡交互过程中,使用下述交易指令,实现刷卡操作。 POS机与SEIMMA卡交互时,将使用SEIMMA卡的手机放置于距离读写器10cm范围内。 3.1.1刷卡交易流程图下图为SEIMMA卡刷卡交易流程图,POS机通过以下流程,与SEIMMA卡进行刷卡交易。 4上海锦诺信息科技有限公司41734138.doc POS机上支付类别选择 (1)POS机发送寻找SEIMMA卡指令 (2)无响应或响应数据错误SEIMMA卡响应数据响应执行正常POS机发送刷卡交易初始化指令 (3)无响应或响应数据错误SEIMMA卡响应数据响应执行正常POS机发送读取磁道信息指令 (4)无响应或响应数据错误SEIMMA卡响应数据响应执行正常POS机输入交易金额 (5)跳过密码输入用户在密码键盘上输入密码输入POS机将数据发交易密码 (6)送至银行端确认POS机打印交易明细,并保存记录 (7)POS机将交易记录返回给SEIMMA卡 (8)银行确认成功银行反馈错误重发是否重发不重发无响应或响应数据错误SEIMMA卡响应数据响应执行正常POS机发送读取签名信息指令 (9)刷卡失败,POS机发出无响应或结束数据传输指令,提响应数据错误示相关错误信息 (11)否读取完毕是刷卡成功,POS机发出结束数据传输指令,并显示签名图片 (10)图-3.1.0刷卡交易流程5上海锦诺信息科技有限公司41734138.doc3.1.2步骤说明 (1)POS机上支付类别选择收银员在POS机上将支付类别选为“手机银行卡消费”,并且在“手机消费选择”菜单中选择“银行卡消费”。 效果图参考手机支付在POS机终端上的应用中“银行卡刷卡应用”。 (2)POS机发送寻找手机指令POS机发送CONNECT指令,此时读写器会通过无线通道寻找周围可用于支付的SEIMMA卡,并返回找寻结果。 (3)POS机发送刷卡交易初始化指令POS机发送InitMC命令,SEIMMA卡收到后给出响应。 POS机校验MAC1值,若MAC1正确,且手机响应为“执行正常”信息,则进入步骤4;若MAC1校验错误,或响应为错误信息或没有收到SEIMMA卡响应,则发送DISCONNECT命令,终止连接,POS机提示相关错误信息。 (4)POS机发送读取磁道信息指令:POS机发送ReadMC命令,SEIMMA卡收到命令后校验POS机给出MAC2值是否正确,若MAC2正确,则SEIMMA卡回复磁道信息数据;若MAC2错误,则SEIMMA卡回复MAC2校验错误信息。 POS机判断SEIMMA卡响应为“执行正常”信息时,则进入步骤5;若SEIMMA卡响应为错误信息或没有收到SEIMMA卡响应,则发送DISCONNECT命令,终止连接,POS机提示相关错误信息。 (5)POS机输入交易金额收银员在POS机上输入交易金额后进入步骤6。 目前单笔刷卡消费最大金额为9999.99。 (6)用户输入交易密码密码输入环节支持两种方式 (一)用户在密码键盘上输入6位密码后,POS将数据发送到银行端,银行反馈正常,则进入步骤7;否则,POS机显示“帐户或密码错误”或者其他相关错误信息,然后发送DISCONNECT命令,交易结束。 (二)POS机上设置一个功能键,按一下直接跳过密码输入环节,进入步骤7。 (方式二暂预留) (7)POS机打印交易明细,并保存记录POS机打印出交易明细,并且将此次交易记录保存在POS机内,供当天对帐时查阅、打印。 进入步骤8。 (8)POS机将交易记录返回给手机POS机发送Transmit_Consume_Note命令,SEIMMA卡收到后给出响应。 若SEIMMA卡响应为“执行正常”时,则进入步骤9。 若SEIMMA卡响应为错误信息或没有收到SEIMMA卡响应,则由POS机根据实际情况,决定是否需要重发该命令。 若不再发送该命令,则进入步骤9。 (9)POS机发送读取签名信息指令:若在步骤3,InitMC命令的应答数据中,表示签名字节长度2个字节为“00H00H”,则POS提示“无签名图片”,并且跳过该步骤,发送DISCONNECT命令,交易完成。 6上海锦诺信息科技有限公司41734138.doc否则,POS机重复发送Read_Share_Sign命令(见3.5.3.4),直到签名数据读取完毕,每次SEIMMA卡收到命令后给出响应。 POS机判断每次响应是否为“执行正常”信息,若全部为“执行正常”则显示签名图片,然后发送DISCONNECT命令,交易完成。 若响应为错误信息或没有收到SEIMMA卡响应,可考虑重发,或者发送DISCONNECT命令,终止连接,POS机提示“读取签名失败”信息。 3.1.3指令集3.1.3.1CONNECT(寻找手机)功能CONNECT命令用于建立读写器与使用SEIMMA卡手机之间的连接。 具体指令格式请参考读写器(POPmate)上位机通信协议1.7文档中“找卡”章节7上海锦诺信息科技有限公司41734138.doc3.1.3.2InitMC(刷卡交易初始化)3.1.3.2.1定义和范围POS机发送该命令,初始化银行卡卡消费,把POS终端机编号和密钥索引号传给SEIMMA卡,并从SEIMMA卡中获取Read MC命令的响应数据长度,签名字节数,SEIMMA卡的ID号,4字节随机数和MAC1值。 POS机通过验证MAC1值,可以辨别SEIMMA卡的真伪。 3.1.3.2.2代码INS P1P2Lc DATALe命令报文值(16进制表示)8011000007见表213表1-InitMC命令报文CLA3.1.3.2.3命令报文数据域InitMC命令的数据内容如下说明终端机编号(POS机)密钥索引表2-InitMC命令报文数据域长度(字节)618上海锦诺信息科技有限公司41734138.doc3.1.3.2.4响应报文数据域响应报文的数据内容如下说明Read MC指令响应数据长度签名字节长度SEIMMA卡的ID号伪随机数MAC1表3-InitMC命令的响应报文数据域计算MAC1的过程密钥由密钥标识符指定的银行卡消费子密钥分别对(4字节伪随机数+长度(字节)12844终端机编号的前4位)加密生成过程密钥的左8位。 再对(终端机编号的后2位+800000000000)加密生成过程密钥的右8位。 MAC1由卡中过程密钥对(1字节Read MC指令响应数据长度+2字节签名字节长度+8字节SEIMMA卡的ID号+4字节伪随机数)进行MAC计算生成,计算过程中的初始向量为“0000000000000000”。 3.1.3.2.5响应报文状态码此命令正常执行返回表所描述的数据域和状态码6113具体状态码的含义如下表所示SW1SW261136700698269836A826A866A886E009403意义命令执行正常,有19个字节的响应数据。 可用Get Response命令取回响应数据。 Lc长度不正确不满足安全条件(不满足密钥访问条件)认证方式已被锁定文件未找到P1,P2参数不正确道密钥文件命令类型CLA错密钥索引不支持表4-InitMC命令的响应报文状态9上海锦诺信息科技有限公司41734138.doc3.1.3.3ReadMC(读银行卡信息指令)3.1.3.3.1定义和范围该命令用于将银行卡的磁道信息从SEIMMA卡中读出。 3.1.3.3.2命令报文ReadMC命令报文如下代码INS P1P2Lc DATALe值(16进制表示)8013000004见表6XX表示所要返回的数据长度表5-ReadMC命令报文CLA3.1.3.3.3命令报文数据域ReadMC命令的数据内容如下说明MC2表6-ReadMC命令报文数据域MAC2由终端中过程密钥对(6字节POS终端机编号+4字节伪随机数)进行MAC计算生长度(字节)4成,计算过程中的初始向量为“0000000000000000”,其中过程密钥与计算MAC1时的过程密钥相同。 MAC2的过程密钥计算方法与MAC1的过程密钥一致。 见3.1.3.2.4章节,关于MAC1过程密钥计算部分内容。 10上海锦诺信息科技有限公司41734138.doc3.1.3.3.4响应报文数据域ReadMC命令响应报文数据域说明说明磁道数据表7-ReadMC响应报文数据域字节Le磁道数据用Tag(标签),Len(长度),Val(值)表示,第一磁道的Tag=0x01;第二磁道Tag=0x02;第三磁道Tag=0x03.例如第一磁道在SEIMMA卡中的值为0x11,22,33.第二磁道在SEIMMA卡中的值为0xaa,0xbb.第三磁道在SEIMMA卡中的值为0x77,0x88则返回的磁道数据表示为0x010x030x110x220x330x020x020xaa0xbb0x030x020x770x88.以上磁道数据用十六进制数表示,第一磁道最大长度为79个字节,第二磁道最大长度为40个字节,第三磁道最大长度为107个字节。 磁道数据格式请参考银行磁条卡磁道格式和使用规范。 3.1.3.3.5响应报文状态码状态字节的含义如下表所示SW1SW261XX6700690169886A866E0011上海锦诺信息科技有限公司意义命令执行正常,有XX个字节的响应数据。 可用Get Response命令取回响应数据。 Lc长度不正确交易不连贯MAC不正确P1,P2参数不正确命令类型(CLA)错表8-ReadMC命令响应报文状态码41734138.doc3.1.3.4Transmit_Consume_Note(返回消费记录指令)3.1.3.4.1定义和范围POS终端机用该命令将消费信息返回给SEIMMA卡。 3.1.3.4.2命令报文Transmit_Consume_Note命令报文代码INS P1P2Lc DATALe值(16进制表示)841500004F消费记录信息+MAC3,见表10不存在表9-Transmit_Consume_Note命令的命令报文CLA3.1.3.4.3命令报文数据域Transmit_Consume_Note命令的命令报文数据域说明商户名称(国标码,不足20字节补空格)商家号(ASCII码)终端编号(ASCII码)交易类型(字节码)卡号长度(BCD码)卡号内容(BCD码,不足10字节补0x00)交易金额(BCD码,整数4个字节,小数2个字节)批次号(BCD码)流水号(BCD码)系统参考号日期(终端)(BCD码)时间(终端)(BCD码)MAC3字节xx411106336334表10-Transmit_Consume_Note命令的命令报文数据域12上海锦诺信息科技有限公司41734138.doc MAC3由卡中过程密钥对(商户名称+商家号+终端编号+交易类型+卡号长度+卡号内容+交易金额+批次号+流水号+系统参考号+日期(终端)+时间(终端)进行MAC计算生成,计算过程中的初始向量为“0000000000000000”。 MAC3的过程密钥计算方法与MAC1的过程密钥一致。 见3.1.3.2.4章节,关于MAC1过程密钥计算部分内容。 3.1.3.4.4响应报文数据域响应报文的数据域不存在。 3.1.3.4.5响应报文状态码正常执行返回9000状态字节的含义如下表所示SW1SW290006581670069016982698369886A826A866A886E00意义命令正确执行写EEPROM不成功Lc长度不正确交易不连贯不满足密钥使用条件认证方式被锁定MAC值不正确文件未找到P1,P2不正确未找到密钥文件不正确的CLA表11-Transmit_Consume_Note命令的响应报文状态码3.1.3.5DISCONNECT(中断连接)功能DISCONNECT命令用于结束读写器与SEIMMA卡之间的连接。 具体指令格式请参考读写器(POPmate)上位机通信协议1.7文档中“结束数据传输”章节。 13上海锦诺信息科技有限公司41734138.doc3.2电子钱包交易流程及协议POS机与SEIMMA卡在电子钱包交互过程中,使用下列交易指令,实现电子钱包交易操作。 POS机与SEIMMA卡交互时,将使用SEIMMA卡的手机放置于距离读写器10cm范围内。 注意圈存交易必须在金融终端上联机进行并要求提交个人密码(PIN),现假设POS机作为金融终端机使用。 3.2.1电子钱包圈存交易流程图下图为电子钱包消费交易流程图,POS机通过以下流程,与SEIMMA卡进行电子钱包消费交易。 14上海锦诺信息科技有限公司41734138.doc POS机上应用类别选择 (1)POS机发送找卡指令 (2)无响应或响应数据错误SEIMMA卡响应数据正确响应POS机发送INITIALIZE FORLOAD指令 (3)否响应数据错误SEIMMA卡响应数据正确响应无响应重发次数超限是POS机发送CREDIT FORLOAD指令 (4)交易失败,POS机发出结束数据传输指令提示相关错误信息是响应数据错误SEIMMA卡响应数据正确响应无响应重发次数超限否POS机验证TAC值 (5)POS机发送GET TRANSACTIONPROVE指令 (6)交易失败,POS机发错误出结束数据传输指令提示相关错误信息验证结果正确正确响应SEIMMA卡响应数据无响应响应数据错误交易成功,POS机发出结束数据传输指令图-3.2.0电子钱包消费交易流程15上海锦诺信息科技有限公司41734138.doc3.2.2圈存交易步骤说明 (1)POS机上支付类别选择操作员在POS机上将应用类别选为“手机电子钱包圈存”。 (2)POS机发送找卡指令POS机发送CONNECT指令,此时读写器会通过无线通道寻找周围可用于支付的SEIMMA卡,并返回找寻结果。 若找卡成功,则进入步骤3,否则,提示“未找到电子钱包”信息,中断操作。 (3)POS机发送圈存初始化指令POS机发送INITIALIZE FORLOAD命令,SEIMMA卡收到后给出响应。 POS机判断响应为“执行正常”信息时,则验证卡片回复的MAC1是否有效。 若有效,则进入步骤4;若无效,则发送DISCONNECT命令,终止连接,并提示相关错误信息信息。 若响应为错误信息,则发送DISCONNECT命令,终止连接,并提示相关错误信息信息。 若没有收到SEIMMA卡响应,则由POS机判断是否满足重发INITIALIZE FORLOAD命令条件。 若满足,则再次发送该命令。 若不满足,则发送DISCONNECT命令,终止连接,并提示相关错误信息信息。 (4)POS机发送圈存指令POS机发送CREDIT FORLOAD命令,SEIMMA卡收到后,判断POS机给出的MAC2值是否正确。 若正确,则返回响应报文数据TAC。 若错误,则返回相应错误信息。 POS机判断响应为“执行正常”信息,则进入步骤5;若响应为错误信息,则发送DISCONNECT命令,终止连接,并提示相关错误信息。 若没有收到SEIMMA卡响应,则由POS机判断是否满足发送GET TRANSACTIONPROVE命令条件。 若满足,进入步骤6。 若不满足,则发送DISCONNECT命令,终止连接,并提示相关错误信息。 (5)POS机验证TACPOS机验证TAC值。 若正确,则发送DISCONNECT命令,显示圈存交易成功,并保存交易明细。 若不正确,则发送DISCONNECT命令,显示圈存交易相关错误信息。 (根据PBOC2.0协议,POS机可以不马上验证TAC值) (6)POS机发送防插拔指令POS机发送GET TRANSACTIONPROVE命令,SEIMMA卡收到后给出响应。 POS机判断响应为“执行正常”信息,则进入步骤5。 响应为错误信息,则发送DISCONNECT命令,终止连接,并提示相关错误信息。 若没有收到SEIMMA卡响应,则由POS机判断是否满足再次发送GET TRANSACTIONPROVE命令条件。 若满足,重复步骤6。 若不满足,则发送DISCONNECT命令,终止连接,并提示相关错误信息。 16上海锦诺信息科技有限公司41734138.doc3.2.3圈存交易指令集3.2.3.1CONNECT(找卡)功能CONNECT命令用于建立读写器与SEIMMA卡之间的连接。 具体指令格式请参考读写器(POPmate)上位机通信协议1.7文档中“找卡”章节。 17上海锦诺信息科技有限公司41734138.doc3.2.3.2INITIALIZE FORLOAD3.2.3.2.1定义和范围INITIALIZE FORLOAD命令用于初始化圈存交易。 3.2.3.2.2代码INS P1P2命令报文值5000可选值01或02;说明01用于ED,02用于EP。 其他值保留。 本协议中使用020B1字节的密钥索引号+4字节的交易金额+6字节的终端机编号0F CLA80Lc DATALe3.2.3.2.3响应报文数据如果此命令执行成功,有如下表数据作为响应报文数据,同时在报文数据后面有命令成功执行的状态码为“9000”说明EP余额EP联机交易序号密钥版本号DLK算法标识DLK伪随机数(SEIMMA卡)MAC1长度(字节)42114418上海锦诺信息科技有限公司41734138.doc3.2.3.2.4MAC1的计算过程1.由INITIALIZE FORLOAD指定的密钥对下表数据加密产生8字节过程密钥SK。 数据伪随机数EP联机交易序号8000长度(字节)4222.MAC1由卡中的过程密钥SK对下表数据按MAC的生成方法生成,初始8字节全为0.数据交易前余额交易金额交易类型标识终端机编号说明交易类型标识02H圈存06H消费3.2.3.2.5响应报文状态码长度(字节)4416其他情况时,此时不存在之前的报文数据,存在响应报文状态码,其情况如下表SW1SW290006581670069856D006A866A816E0061xx940319上海锦诺信息科技有限公司意义命令正确执行写EEPROM不成功Lc长度不正确使用条件不满足INS不支持或错误参数P1P2不正确不支持此功能(卡片被锁定)不正确的CLA正确执行,xx表示响应数据长度,可用下文的get response指令取回数据密钥索引不支持41734138.doc3.2.3.3CREDIT FORLOAD3.2.3.3.1定义和范围CREDIT FORLOAD命令用于圈存交易。 3.2.3.3.2代码INS P1P2Lc DATA命令报文值5200000B4字节的交易日期(主机)+3字节的交易时间(主机)+4字节的MAC204CLA80Le3.2.3.3.3响应报文数据如果此命令执行成功,有如下表数据作为响应报文数据,同时在报文数据后面有命令成功执行的状态码为“9000”说明TAC3.2.3.3.4TAC的计算方法长度(字节)4TAC的计算不采用过程密钥方式,它用DTK左右8位字节异或运算的结果对以下数据进行加密运算来产生(按所列顺序)。 初始8字节值全为0。 20上海锦诺信息科技有限公司41734138.doc数据电子钱包余额(交易后)电子钱包联机交易序号(加1前)交易金额交易类型标识终端机编号交易日期(主机)交易时间(主机)3.2.3.3.5MAC2的产生过程长度(字节)4241643MAC2由卡中的过程密钥SK对下表数据按MAC计算方法生成的,初始8字节值全为0。 数据交易金额交易类型标识终端机编号交易日期交易时间3.2.3.3.6响应报文状态码长度(字节)41643其他情况时,此时不存在之前的报文数据,存在响应报文状态码,其情况如下表SW1SW290006581670069856D006A866A816E0061xx930221上海锦诺信息科技有限公司意义命令正确执行写EEPROM不成功Lc长度不正确使用条件不满足INS不支持或错误参数P1P2不正确不支持此功能(卡片被锁定)不正确的CLA正确执行,xx表示响应数据长度,可用下文的get response指令取回数据MAC无效41734138.doc3.2.3.4GET TRANSACTIONPROVE命令3.2.3.4.1定义和范围GET TRANSACTIONPROVE命令提供了一种在交易处理过程中拔出并重插卡后卡片的恢复机制。 在POS终端发给SEIMMA卡一个命令以更新电子钱包余额时,卡片总会回送一个交易验证码TAC,以证明更新已经发生。 一旦余额更新成功,可以通过GET TRANSACTIONPROVE命令获得TAC.如果在命令已经执行结束,而终端还未收到响应之前,卡片被拔出,终端将处于不知卡片是否被更新的不定状态。 在这种情况下,终端可以用GET TRANSACTIONPROVE命令取TAC,如果返回9000,表示卡片更新成功,否则表示失败,要完成此次交易,必须从交易初始化重新开始。 3.2.3.4.2命令报文GET TRANSACTIONPROVE命令报文代码CLA INS P1P2Lc DataLe805A00要取的MAC或/和TAC所对应的交易类型标识。 (02H圈存06H消费)02要取的MAC或/和TAC所对应的EP联机或脱机交易序号。 长度2字节08值GET TRANSACTIONPROVE命令报文3.2.3.4.3响应报文数据域如果命令中指定的交易类型标识和EP联机或脱机交易序号对应的MAC或TAC可用,则响应报文数据域见表22说明MAC TAC长度4422上海锦诺信息科技有限公司41734138.doc注意圈存时,GET TRANSACTIONPROVE响应不存在MAC值,该值4字节全部使用默认值00H。 3.2.3.4.4响应报文的状态码此命令执行成功的状态码是9000。 下表描述了卡片可能回送的错误状态SW165696D6E94SW28185000006内存错误使用条件不满足INS不支持或错误CLA不支持或错误所需MAC不可用含义GET TRANSACTIONPROVE错误状态3.2.3.5DISCONNECT(中断连接)功能DISCONNECT命令用于结束读写器与SEIMMA卡之间的连接。 具体指令格式请参考读写器(POPmate)上位机通信协议1.7文档中“结束数据传输”章节。 23上海锦诺信息科技有限公司41734138.doc3.2.4电子钱包消费交易流程图下图为电子钱包消费交易流程图,POS机通过以下流程,与SEIMMA卡进行电子钱包消费交易。 POS机上支付类别选择 (1)POS机发送找卡指令 (2)无响应或响应数据错误SEIMMA卡响应数据正确响应POS机发送INITIALIZE FORPURCHASE指令 (3)否响应数据错误SEIMMA卡响应数据正确响应无响应重发次数超限是POS机发送DEBIT FORPURCHASE指令 (4)交易失败,POS机发出结束数据传输指令提示相关错误信息是响应数据错误SEIMMA卡响应数据正确响应无响应重发次数超限否POS机验证MAC2及TAC值 (5)POS机发送GET TRANSACTIONPROVE指令 (6)交易失败,POS机发错误出结束数据传输指令提示相关错误信息验证结果正确正确响应SEIMMA卡响应数据无响应响应数据错误交易成功,POS机发出结束数据传输指令图-3.2.1电子钱包消费交易流程24上海锦诺信息科技有限公司41734138.doc3.2.5消费交易步骤说明 (1)POS机上支付类别选择操作员在POS机上将支付类别选为“手机电子钱包消费”。 效果图参考手机支付在POS机终端上的应用中“电子钱包刷卡应用”。 (2)POS机发送找卡指令POS机发送CONNECT指令,此时读写器会通过无线通道寻找周围可用于支付的SEIMMA卡,并返回找寻结果。 若找卡成功,则进入步骤3,否则,提示“未找到电子钱包”信息,中断操作。 (3)POS机发送消费初始化指令POS机发送INITIALIZE FORPURCHASE命令,SEIMMA卡收到后给出响应。 POS机判断响应为“执行正常”信息,则进入步骤4;若响应为错误信息,则发送DISCONNECT命令,终止连接,并提示相关错误信息信息。 若没有收到SEIMMA卡响应,则由POS机判断是否满足重发INITIALIZE FORPURCHASE命令条件。 若满足,则再次发送该命令。 若不满足,则发送DISCONNECT命令,终止连接,并提示相关错误信息信息。 (4)POS机发送消费指令POS机发送DEBIT FORPURCHASE命令,SEIMMA卡收到后,判断POS机给出的MAC1值是否正确。 若正确,则返回响应报文数据TAC、MAC2。 若错误,则返回相应错误信息。 POS机判断响应为“执行正常”信息,则进入步骤5;若响应为错误信息,则发送DISCONNECT命令,终止连接,并提示相关错误信息。 若没有收到SEIMMA卡响应,则由POS机判断是否满足发送GET TRANSACTIONPROVE命令条件。 若满足,进入步骤6。 若不满足,则发送DISCONNECT命令,终止连接,并提示相关错误信息。 (5)POS机验证TAC及MAC2值POS机分别验证TAC和MAC2值,若全部正确,则发送DISCONNECT命令,显示交易成功,并保存交易明细。 若任何一个值不正确,则发送DISCONNECT命令,显示交易相关错误信息。 (6)POS机发送防插拔指令POS机发送GET TRANSACTIONPROVE命令,SEIMMA卡收到后给出响应。 POS机判断响应为“执行正常”信息,则进入步骤5。 响应为错误信息,则发送DISCONNECT命令,终止连接,并提示相关错误信息。 若没有收到SEIMMA卡响应,则由POS机判断是否满足再次发送GET TRANSACTIONPROVE命令条件。 若满足,重复步骤6。 若不满足,则发送DISCONNECT命令,终止连接,并提示相关错误信息。 25上海锦诺信息科技有限公司41734138.doc3.2.6消费交易指令集3.2.6.1CONNECT(找卡)功能CONNECT命令用于建立读写器与SEIMMA卡之间的连接。 具体指令格式请参考读写器(POPmate)上位机通信协议1.7文档中“找卡”章节。 3.2.6.2INITIALIZE FORPURCHASE3.2.6.2.1定义和范围INITIALIZE FORPURCHASE命令用于电子钱包消费的初始化操作。 3.2.6.2.2代码INS P1P2命令报文值5001可选值01或02;说明01用于ED,02用于EP。 其他值保留。 本协议中使用020B1字节的密钥索引号+4字节的交易金额+6字节的终端机编号0F CLA80Lc DATALe26上海锦诺信息科技有限公司41734138.doc3.2.6.2.3响应报文数据如果此命令执行成功,有如下表数据作为响应报文数据,同时在报文数据后面有命令成功执行的状态码为“9000”说明EP余额EP脱机交易序号透支限额密钥版本号DPK(命令报文数据第一字节指定圈存密钥的版本号)算法标识DPK(命令报文数据第一字节指定圈存密钥的算法版本号)伪随机数(IC卡)3.2.6.2.4响应报文状态码长度(字节)423114其他情况时,此时不存在之前的报文数据,存在响应报文状态码,其情况如下表SW1SW290006581670069856D006A866A816E0061xx94039401意义命令正确执行写EEPROM不成功Lc长度不正确使用条件不满足INS不支持或错误参数P1P2不正确不支持此功能(卡片被锁定)不正确的CLA正确执行,xx表示响应数据长度,可用下文的get response指令取回数据密钥索引不支持余额不足27上海锦诺信息科技有限公司41734138.doc3.2.6.3DEBIT FORPURCHASE3.2.6.3.1定义和范围消费DEBIT FORPURCHASE命令用于消费交易,该命令只有在成功执行了INITIALIZE FORPURCHASE后,才能执行。 3.2.6.3.2代码INSP1P2Lc DATA命令报文值5401000F4字节的终端交易序号+4字节的交易日期(主机)+3字节的交易时间(主机)+4字节的MAC108CLA80Le3.2.6.3.3MAC1的计算过程3.由INITIALIZE FORPURCHASE指定的密钥对下表数据加密产生8字节过程密钥SK。 数据伪随机数EP脱机交易序号终端交易序号的最右2字节长度(字节)4224.MAC1由卡中的过程密钥SK对下表数据按MAC的生成方法生成,初始8字节全为0.28上海锦诺信息科技有限公司41734138.doc数据交易金额交易类型标识终端机编号交易日期交易时间说明交易类型标识02H圈存06H消费3.2.6.3.4响应报文数据长度(字节)41643如果此命令执行成功,有如下表数据作为响应报文数据,同时在报文数据后面有命令成功执行的状态码为“9000”说明TAC MAC23.2.6.3.5TAC的计算方法长度(字节)44TAC由内部密钥DTK左右8字节异或的结果对下表数据按照产生MAC的方法生成。 初始8字节值全为0。 数据交易金额交易类型标识终端机编号终端交易序号交易日期交易时间3.2.6.3.6MAC2的产生过程长度(字节)416443MAC2由卡中的过程密钥SK对四字节的交易金额按MAC计算方法生成的,初始8字节值全为0。 29上海锦诺信息科技有限公司41734138.doc3.2.6.3.7响应报文状态码其他情况时,此时不存在之前的报文数据,存在响应报文状态码,其情况如下表SW1SW290006581670069856D006A866A816E0061xx94019302意义命令正确执行写EEPROM不成功Lc长度不正确使用条件不满足INS不支持或错误参数P1P2不正确不支持此功能(卡片被锁定)不正确的CLA正确执行,xx表示响应数据长度,可用下文的get response指令取回数据金额不足MAC无效30上海锦诺信息科技有限公司41734138.doc3.2.6.4GET TRANSACTIONPROVE命令3.2.6.4.1定义和范围GET TRANSACTIONPROVE命令提供了一种在交易处理过程中拔出并重插卡后卡片的恢复机制。 在POS终端发给SEIMMA卡一个命令以更新电子钱包余额时,卡片总会回送一个交易验证码TAC和MAC,以证明更新已经发生。 一旦余额更新成功,可以通过GET TRANSACTIONPROVE命令获得MAC和TAC.如果在命令已经执行结束,而终端还未收到响应之前,卡片被拔出,终端将处于不知卡片是否被更新的不定状态。 在这种情况下,终端可以用GET TRANSACTIONPROVE命令取回MAC和TAC,如果返回9000,表示卡片更新成功,否则表示失败,要完成此次交易,必须从交易初始化重新开始。 3.2.6.4.2命令报文GET TRANSACTIONPROVE命令报文代码CLA INSP1P2Lc DataLe805A00要取的MAC或/和TAC所对应的交易类型标识。 (02H圈存06H消费)02要取的MAC或/和TAC所对应的EP联机或脱机交易序号。 长度2字节08值GET TRANSACTIONPROVE命令报文3.2.6.4.3响应报文数据域如果命令中指定的交易类型标识和EP联机或脱机交易序号对应的MAC或TAC可用,则响应报文数据域见表22说明MAC TAC长度44GET TRANSACTIONPROVE响应报文数据域31上海锦诺信息科技有限公司41734138.doc3.2.6.4.4响应报文的状态码此命令执行成功的状态码是9000。 下表描述了卡片可能回送的错误状态SW165696D6E94SW28185000006内存错误使用条件不满足INS不支持或错误CLA不支持或错误所需MAC不可用含义GET TRANSACTIONPROVE错误状态3.2.6.5DISCONNECT(中断连接)功能DI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 客桥运行员操作规范与应急处理知识试题附答案
- 在线法律考试试题及答案
- 2025年项目管理原创题库及答案
- 2025年医院呼吸考试题目及答案
- 国航财务笔试题目及答案
- 2025年教师编制技能题库及答案
- 化学实验数据处理与分析试题
- 化学辩证(动态、平衡)思维测评试题
- 2025年高考物理实验方案评价与改进试题
- 公卫知识考试题及答案
- 页人音版三年级音乐上册音乐教案(2025-2026学年)
- 员工应急救护知识培训课件
- 2025昆明中北交通旅游(集团)有限责任公司驾驶员招聘(60人)考试参考题库及答案解析
- 2026中国航空工业集团金航数码校园招聘备考考试题库附答案解析
- 健康教育培训师资队伍建设方案
- 英语A级常用词汇
- 气管切开非机械通气患者气道护理团体标准课件
- GB/T 10752-2005船用钢管对焊接头
- 红色简约大方万人计划青年人才答辩PPT模板
- 租赁合同 钢模板租赁合同范本
- 新疆公路工程建设标准化手册(303编制详细)
评论
0/150
提交评论