EMVTag系列16——AC响应数据

在一个联机交易中,要传送到发卡行的专有应用数据。


字段


长度(字节)


赋值


说明


长度


1


07


分散密钥索引


1


00


密文版本号


1


01


根据发卡行密钥版本设置


卡片验证结果(CVR)


4


03


00


bits 8–7:

00 = 第2个GENERATE AC返回AAC

01 = 第2个GENERATE AC返回TC

10 = 不请求第2个GENERATE AC

11 = RFU

bits 6–5:

00 = 第1个GENERATE AC返回AAC

01 = 第1个GENERATE AC返回TC

10 = 第1个GENERATE AC返回ARQC

11 = 不能返回11

bit 4: 1 = 发卡行认证执行但失败

bit 3: 1 = 脱机PIN执行

bit 2: 1 = 脱机PIN认证失败

bit 1: 1 = 不能联机


00


bit 8: 1 = 上次联机交易没有完成

bit 7: 1 = PIN锁定

bit 6: 1 = 超过频率检查

bit 5: 1 = 新卡

bit 4: 1 = 上次联机交易发卡行认证失败

bit 3: 1 = 联机授权后,发卡行认证没有执行

bit 2: 1 = 由于PIN锁卡片锁定应用

bit 1: 1 = 上次交易SDA失败交易拒绝


00


bits 8–5: 上次交易第2个生成应用密文(GENERATE APPLICATION CRYPTOGRAM(AC))命令后收到的带有安全报文的发卡行脚本命令

bit 4: 1 = 上次交易发卡行脚本处理失败指针

bit 3: 1 = 上次交易DDA失败交易拒绝


算法标识


1


01


发卡行自定义数据长度


1


0A


ID号


1


01


金额域


5


初始值0


MAC


4


初始值0


其它的发卡行自定义数据


5

模板推荐值:07000103000000010A01

除了所有非接触应用的卡片需求外,qPBOC还应当遵守下面的要求:

收到GPO命令,卡片应当立即设置发卡行应用数据(标签“9F10”)的CVR部分为“03000000”。 CVR是发卡行应用数据的第4-7字节部分;

CVR字节2,位4、3、2、1未使用,仍保留设置为b“0”;

CVR字节3,位8、4、3、2、1未使用,仍保留设置为b“0”;

CVR字节4未使用,所有位仍保留设置为b“0”;

 qPBOC终端处理需求

  • l   当终端接收到来自卡片的正确的GPO命令响应,它将检查发卡行应用数据(标签“9F10”)来确定卡片提供的密文类型。根据密文类型,判断交易拒绝、联机处理或脱机批准。
  • l   密文类型检查
  • l   如果返回ARQC(发卡行应用数据(标签“9F10”)字节5的第6-5位=b“10”),那么终端应将交易联机发送;
  • l   如果返回AAC(发卡行应用数据(标签“9F10”)字节5的第6-5位=b“00”),那么终端应拒绝交易;
  • l   如果返回TC(发卡行应用数据(标签“9F10”)字节5的第6-5位=b“01”),但卡的应用失效日期早于终端交易日期(终端本地),那么终端应脱机拒绝交易;
  • l   如果返回TC(发卡行应用数据(标签“9F10”)字节5的第6-5位=b“01”),那么终端应检查终端异常文件(如果存在),如果应用PAN在终端异常文件中出现,那么终端应脱机拒绝交易;

为了使得发卡行可以在主机端更紧密地跟踪资金,引入了在发卡方应用数据(9F10)的发卡行自定义数据部分中允许加入特殊数据的选项。对于qPBOC交易,当卡片应用对GPO指令回应联机认证请求(ARQC)的时返回;对于借记/贷记交易,当卡片应用对第1次生成应用密文指令回应联机认证请求(ARQC)的时返回。发卡行自定义数据(IDD)根据在个人化时选择的选项不同,会有所变化。

累计交易总金额、在CTTA基础上增加的累计交易总金额限制(CTTAL)、电子现金余额、可用脱机消费金额和能够个人化不超过15个字节的静态数据,是发卡行可选择联机发送的5个数据选项,发卡行可以在这5个选项中选择任意一个联机发送。同时如果该数据存在,在发送的指令中会被加上校验码,以保证数据完整性。发卡行自定义数据(IDD)仅在联机交易中被返回。


发卡行自定义数据选项


长度(字节)           


IDD ID          


金额域   


MAC字节数        


电子现金余额


10


0x01


标签“9F79” 的值(低5位字节)


4


累计交易总金额(CTTA)


10


0x02


值,此数据无标签(低5位字节)


4


电子现金余额和CTTA


15


0x03


值(10 字节, “9F79” 值 在第1位置)


4


CTTA和CTTAL


15


0x04


值(10 字节, CTTA值 在第1位置)


4


可用脱机消费金额


10


0x05


标签“9F5D”的值 (低5位字节)


4


静态


1 to 15


N/A


发卡行指定固定数据


发卡行自定义数据(IDD)的ID值用于选择在发卡行自定义数据域中返回的数据的类型。缺省的情况下,发卡行自定义数据不会被返回。如果发卡行希望收到发卡行自定义数据,在9F10个人化值中,需要添加以上相应的数据的长度和标示符字节(在借记/贷记应用的自定义数据之后)。

例如,0x0A02表示在生成交易密文的指令应答中,将返回10个字节的发卡行自定义数据,包括数据类型标示符(0x02),累计交易总额和校验码。返回电子现金余额的选项,只有当应用被个人化为电子现金的时候才会有效。

EMVTag系列16——AC响应数据

时间: 2024-10-25 10:51:12

EMVTag系列16——AC响应数据的相关文章

EMVTag系列9——卡片管理数据

?  5F30    服务码 F: n 3 T: 5F30 L: 2 -O(可选):可选数据元 按GB/T 17552标准,卡片中的服务码(5F30) 的值,要和二磁道等效数据57中的服务码的值完全一致,如果卡片存在磁条且二磁道有数据,亦要和磁条二磁道数据中的服务码的值一致. ?  8C  卡片风险管理数据对象列表1(CDOL1) L: var. up to 252 -M(必备) 列出第1个生成应用密文命令中,卡片请求终端传送的数据.用于支持密文版本01和授权控制处理过程.内容是终端数据对象(标

EMVTag系列7——静态签名数据

? 5F24    应用有效期 L: 3 -M(必备) 1)  芯片中的应用失效日期5F24,服务码5F30,必须与芯片中的二磁道等效数据(Tag57)中的失效日期和服务码一致. 2)  qPBOC 时,应用失效日期5F24不能放在 AFL 指明的让终端读取的最后一条记录里面. 3)  应用失效日期(5F24)不能晚于发卡行公钥证书失效期. 送检反馈问题:标准借贷记交易,电子现金交易时,卡片返回的应用失效日期 5F24 == 491231,发卡行公钥证书失效日期 == 2030年12月,应用失效

EMVTag系列12——卡片内部风险管理数据

?  9F53    连续脱机交易限制数(国际-货币) L: 1 -C(有条件):如果执行国际-货币频度检查 PBOC专有数据元. 不使用指定应用货币的连续脱机交易次数最大数,超过后交易请求联机 模板推荐值: 0 ?  9F54    累计脱机交易金额限制数 L: 6 -C(有条件):如果执行累计金额频度检查 PBOC专有数据.累计脱机交易金额的最大限制.超过交易请求联机 模板推荐值:00 00 00 00 00 00 ?  9F77    电子现金余额上限 电子现金余额上限:表示在电子现金应用

EMVTag系列3《持卡人基本信息数据》

?  9F61    持卡人证件号 L:2–26 R(需求):数据应存在,在读应用数据过程中,终端不检查: (PBOC2.0第五部分中规定)芯片中持卡人姓名 5F20与持卡人姓名扩展9F0B只能使用一个,另一个必须不存在.当持卡人姓名小于等于26 个字节的时候,请仅使用 5F20:否则请仅使用 9F0B.如果不如此设置,可能会导致该卡片被部分终端终止交易. (PBOC3.0第五部分中规定)如果持卡人姓名大于26字节,此时不应使用标签9F0B,完整的持卡人姓名应当存放在此标签下.如果5F20长度不

jQuery-1.9.1源码分析系列(十六)ajax——响应数据处理和api整理

ajax在得到请求响应后主要会做两个处理:获取响应数据和使用类型转化器转化数据 a.获取响应数据 获取响应数据是调用ajaxHandleResponses函数来处理. ajaxHandleResponses的功能有: - 为jqXHR设置所有responseXXX字段(值便是响应数据) - 找到正确的dataType (在content-type和预期的dataType两者中的一个) - 返回正确的响应数据 我们看一个响应数据的格式: responses = { text: "{"co

EMVTag系列4——5A 应用主账号

L:var.最大10 -M(必备):此数据应存在并提供给终端,终端在读应用数据过程中,如果没有读到必备数据,终端中止交易:等同磁条上的应用主帐户. 银行卡号一般是16位或者19位.由如下三部分构成: 1)  发卡银行识别号(BIN,BANKIDENTIFICATION NUMBER) 前6位数字为发卡 银行识别号,由ISO国际组织统一制定.其中第一位数字是主要产业标识符(Major IndustryIdentifier (MII)),下表列出了MII每个数字代表的卡号行业. 卡号首位      

EMVTag系列6——IAC 发卡行行为代码

R(需求):数据应存在,在读应用数据过程中,终端不检查:将变成必备 L: 5 IAC 的值,最好不要自定义,最好和所选的模板完全匹配.如果修改持卡人认证位,PIN Bypass 相关的位.如果有业务需求,修改了其他的位,检测中心有可能要求贵机构通过邮件解释或确认一些问题. 如果银行有业务需求,允许持卡人不输入联机 PIN 进行交易,请注意 CVM List的设置和IAC 拒绝值的设置.为了加快测试进度,如果银行不允许持卡人不输入联机 PIN 进行交易,并且已经了解当前设定的CVMList 和IA

redis 系列16 持久化 RDB

原文:redis 系列16 持久化 RDB 一.概述 Redis是内存数据库,一旦服务器进程退出,服务器中的数据库内存数据状态也会消失.为了解决这个问题,Redis提供了RDB 持久化功能,这个功能可以将redis在内存中的数据库状态保存到磁盘中,避免数据意外丢失. RDB持久化可以手动执行,也可以根据服务器配置选项定期执行,是在指定的时间间隔,对你的数据进行快照存储.该RDB文件快照是一个经过压缩的二进制文件.文件名为dump.rdb,该文件保存在redis目录下,当redis服务器停机后,只

[Android学习系列16]Android把php输出的json加载到listview

首先写个php脚本输出json,注意,还要输出回车,方便android的bufferreader读取一行 <?php class Book { public $bookid; public $bookname; public $bookinfo; function __construct($id,$name,$info ){ $this->bookid = $id; $this->bookname = $name; $this->bookinfo = $info; } } $boo