现在到了TVR和CVM Results部分了。TVR是Terminal Verification Results,也就是终端验证的结果,包括了脱机数据认证,持卡人认证,处理限制等等是否成功。所以只要交易结果不是我们期望的,我们总是先拿TVR出来看看是哪里出了问题。CVM Results是持卡人认证结果,针对CVM。
一. TVR
tag:‘95’ length:5 bytes
第一个字节主要是脱机数据相关的结果:
第二字节主要是处理限制的结果:
第3个字节主要是CVM的结果,上一篇就说到CVM失败需要设置这里的b8. 在实际使用中就可能碰到PIN尝试次数超限,也就是b5为1.
第4个字节主要是终端风险管理的结果:
第5个字节则主要是脚本处理的结果:
二. CVM Results
tag: '9F34' length: 3 Bytes
可查看EMV Book4 6.3.4.5节。
Byte 1表示CVM Performed, Byte 2 表示CVM Condition。这两个字节是来自tag‘8E’中我们执行CVM的时候的最后一个CV rule的值。规范原文“The terminal shall set bytes 1 and 2 of the CVM Results with the Method Code and Condition Code of the last CVM performed.”
Byte 3表示CVM Result。
下图来自EMV Book4 A4 CVM Results:
今天突然我们一群人在讨论TLV格式,做了这么多年认证居然好几个人把TAG的格式和Length
的规则搞混了,哈哈哈。所以下一节单独说说TLV格式规则问题。