95,五个字节)是终端对自己检查了什么、什么出了问题的完整记录。它走在 DE55 里,是回答「这笔芯片交易为什么会这样」最有用的一个字段。
TVR 是五个字节,通常写成十位十六进制字符,例如 0000008000。每个字节负责一类检查,字节内的位从 b8(最高位)到 b1(最低位)编号。某一位为 1 表示「这个情况发生了」。下表标注 RFU 的位是保留位,应当为 0。
字节 1 记录终端能否在脱机状态下用密码学手段验证卡片,以及验证是怎么失败的。
| 位置 | 含义 |
|---|---|
字节 1 · b8 | 未执行脱机数据认证 |
字节 1 · b7 | SDA 失败 |
字节 1 · b6 | IC 卡数据缺失 |
字节 1 · b5 | 卡片出现在终端异常文件中 |
字节 1 · b4 | DDA 失败 |
字节 1 · b3 | CDA 失败 |
字节 1 · b2 | RFU 保留 |
字节 1 · b1 | RFU 保留 |
字节 2 记录卡片提供的能力与终端支持的能力之间的不匹配,以及卡片生命周期问题(比如过期)。
| 位置 | 含义 |
|---|---|
字节 2 · b8 | IC 卡与终端的应用版本不一致 |
字节 2 · b7 | 应用已过期 |
字节 2 · b6 | 应用尚未生效 |
字节 2 · b5 | 该卡产品不允许所请求的服务 |
字节 2 · b4 | 新卡 |
字节 2 · b3 | RFU 保留 |
字节 2 · b2 | RFU 保留 |
字节 2 · b1 | RFU 保留 |
字节 3 讲的是 CVM:持卡人有没有被验证成功,没成功的话是什么挡住了。PIN 相关的争议大多能在这个字节里找到解释。
| 位置 | 含义 |
|---|---|
字节 3 · b8 | 持卡人验证未成功 |
字节 3 · b7 | 无法识别的 CVM |
字节 3 · b6 | PIN 尝试次数超限 |
字节 3 · b5 | 需要输入 PIN,但密码键盘不存在或不工作 |
字节 3 · b4 | 需要输入 PIN,密码键盘存在,但未输入 PIN |
字节 3 · b3 | 已输入联机 PIN |
字节 3 · b2 | RFU 保留 |
字节 3 · b1 | RFU 保留 |
字节 4 解释终端为什么决定走联机而不是脱机批准。排查某个商户联机量异常时,从这里开始看。
| 位置 | 含义 |
|---|---|
字节 4 · b8 | 交易超过脱机限额(floor limit) |
字节 4 · b7 | 连续脱机交易下限超限 |
字节 4 · b6 | 连续脱机交易上限超限 |
字节 4 · b5 | 交易被随机抽中转联机处理 |
字节 4 · b4 | 商户强制转联机 |
字节 4 · b3 | RFU 保留 |
字节 4 · b2 | RFU 保留 |
字节 4 · b1 | RFU 保留 |
字节 5 记录发卡行应答之后发生了什么:发卡行认证是否通过、发卡行脚本是否执行成功。
| 位置 | 含义 |
|---|---|
字节 5 · b8 | 使用了默认 TDOL |
字节 5 · b7 | 发卡行认证失败 |
字节 5 · b6 | 脚本处理在最后一次 GENERATE AC 之前失败 |
字节 5 · b5 | 脚本处理在最后一次 GENERATE AC 之后失败 |
字节 5 · b4 | RFU 保留 |
字节 5 · b3 | RFU 保留 |
字节 5 · b2 | RFU 保留 |
字节 5 · b1 | RFU 保留 |
不是。TVR 记录的是观察结果,不是决策结果。一笔完全正常、成功批准的交易照样会有置位 —— 「交易超过脱机限额」只是说终端转了联机,而这本来就是你希望它做的事。
决策来自把 TVR 和终端行为码(TAC)、发卡行行为码(IAC)做比对。那两组掩码规定哪些观察结果应当直接拒绝、哪些应当转联机、哪些可以忽略。脱离行为码单看 TVR,你知道的是发生了什么,不是结果为什么是这样。