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),累计交易总额和校验码。返回电子现金余额的选项,只有当应用被个人化为电子现金的时候才会有效。
文/闫鑫原创
转载请注明出处http://blog.csdn.net/yxstars/article/details/38335729
EMVTag系列16《AC响应数据》的更多相关文章
- EMVTag系列15《选择应用响应数据》
1. 接触交易选择应用响应数据 标签 长度 数据域 9102 A5 变长 FCI专用模板 强制 50 1–16 应用标签 纯电子现金:PBOC DEBIT 借记卡:PBOC DEBIT 贷记卡:PBO ...
- EMVTag系列14《支付环境响应数据》
1. 选择PSE支付环境响应数据 标签 长度 数据域 存在性 9102 A5 变长 FCI数据专用模板 强制 88 1 目录基本文件的SFI 强制 5F2D 2 首选语言 可选 9F11 1 发卡行代 ...
- jQuery-1.9.1源码分析系列(十六)ajax——响应数据处理和api整理
ajax在得到请求响应后主要会做两个处理:获取响应数据和使用类型转化器转化数据 a.获取响应数据 获取响应数据是调用ajaxHandleResponses函数来处理. ajaxHandleRespon ...
- 使用Typescript重构axios(六)——实现基础功能:获取响应数据
0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...
- 使用Typescript重构axios(十三)——让响应数据支持泛型
0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...
- 使用Typescript重构axios(十六)——请求和响应数据配置化
0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...
- java io系列15之 DataOutputStream(数据输出流)的认知、源码和示例
本章介绍DataOutputStream.我们先对DataOutputStream有个大致认识,然后再深入学习它的源码,最后通过示例加深对它的了解. 转载请注明出处:http://www.cnblog ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(16)-类库架构扩展以及DLL文件生成修改和用户的简单添加
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(16)-类库架构扩展以及DLL文件生成修改和用户的简单添加 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) ...
- Alamofire源码解读系列(九)之响应封装(Response)
本篇主要带来Alamofire中Response的解读 前言 在每篇文章的前言部分,我都会把我认为的本篇最重要的内容提前讲一下.我更想同大家分享这些顶级框架在设计和编码层次究竟有哪些过人的地方?当然, ...
随机推荐
- MySQL 密码修改
方法1: 用SET PASSWORD命令 首先登录MySQL. 格式:mysql> set password for 用户名@localhost = password('新密码'); 例子:my ...
- 重拾HTML(一)
一.网页组成 HTML:网页的具体内容和结构,由N个标签(节点,元素,标记)组成 CSS:网页的样式,美化网页 JavaScript:网页的交互效果,比如用户鼠标的点击事件作出响应 二.常见的HT ...
- 在代码中调用 mvc 4 api
mvc 4 api 的调用有很多种,最常见也最简单的一种是 用 ajax 的方式在前端界面中调用, 如果是在后台代码中调用 ,是要复杂一些,以下是 以 post 的方式调用 api 的封装好的方法: ...
- java学习之(内部类)
大部分时候,类被定义成一个独立的程序单元,在某些情况下,也会把一个类放在另一个类的内部定义,这个定义在其他类内部的类就被称为内部类,内部类有如下特点: 1.内部类提供了更好的封闭,可以把内部类隐 ...
- 二模09day1解题报告
T1.词编码(word) 给出一些原长为n的01串经过变化后的串求原串.原串的特点是:各个1的位置号和%(n+1)==0 变法(只取其一): 改一个0为1 删一个 加一个 不变. 其中2优先考虑位置靠 ...
- Landsat 8 OLI_TIRS 卫星数字产品
产品描述 2013 年2月11日,美国航空航天局(NASA) 成功发射Landsat-8卫星.Landsat-8卫星上携带两个传感器,分别是OLI陆地成像仪(Operation ...
- 网络编码 GB2312、GBK与UTF-8的区别
GB2312.GBK与UTF-8的区别 这是一个异常经典的问题,有无数的新手站长每天都在百度这个问题,而我,作为一个“伪老手”站长,在明白这个这个问题的基础上,有必要详细的解答一下. 首先,我们要 ...
- sublime Text2 2.0.2 build 2221 64位 破解(已测试)
近终于找到 sublime Text2 升级到 2.0.2 build 2221 64位 的破破解 输入注册码就成了 ----- BEGIN LICENSE ----- Andrew Weber S ...
- 0511 backlog 项目管理
SCRUM 这次的作业就是确定SCRUM的计划,确定sprint backlog的一个冲刺周期,而这个周期是两个星期.争取在两周内发布1.0版本. 本次作业以网站构建为主: ID NAME ...
- Android IOS WebRTC 音视频开发总结(五七)-- 网络传输上的一种QoS方案
本文主要介绍一种QoS的解决方案,文章来自博客园RTC.Blacker,欢迎关注微信公众号blacker,更多详见www.rtc.help QoS出现的背景: 而当网络发生拥塞的时候,所有的数据流都有 ...