EMV 离线 Approval/Decline

EMV Offline Approval/Decline

我正在开发 VeriFone VX 终端的接口。虽然,这确实是一个一般的 EMV 问题。我们的处理器有零下限,所以它总是在线发送。但是,如果它发生变化,您怎么知道(什么标签)交易是离线批准还是拒绝?或者说,你怎么知道上网不上网?

假设您使用的是 VeriFone 的 VIPA API,那么第一个 'Continue Transaction' 命令 (GenAC1) returns 标签包裹在 TLV 模板中(或 'constructed' TLV 标签).这个模板的值决定了结果:

  • E3:本地授权
  • E4:需要在线授权

A​​FAIK(在原版 EMV 中)第一个 GENERATE AC 期间返回的标签 Cryptogram Information Data ('9F27') 应该用于此目的。

参见EMV Book 3, Table 14

请注意,此标签包含卡的决定,因此您不会看到内核所需的密码类型。

how do you know (what tags) if the transaction was approved or declined offline? Or, in other words, how do you know to go online or not?

终端必须决定是离线进行交易、上线交易还是拒绝交易。这里终端向卡发送一个命令(AC),这个命令的响应帮助终端决定接下来的动作。

决策取决于三个领域 -
1) - 发行人行动代码
2) - 终端操作代码
3) - TVR

IAC、TAC和TVR的结构相同。要了解此数据的更多信息,您可以查看 EMV BOOK 3

IAC 使用示例-

suppose IAC-ONLINE (TAG - 9F0F) = 08 00 00 00 00 , 
here byte 1 bit 4 is on i.e. offline DDA Failed , 
Here Issuer want to go online if offline DDA Failed.

当终端执行 DDA 失败时,它会在 TVR 中设置相应的位 这意味着 TVR 说-这张卡的脱机 DDA 失败。 现在终端在线检查 IAC,发现 DDA_Failed 位在 TVR 中打开并且相同,这里终端决定是在线,然后它向 p1 = 80 的卡发送 Gen AC 命令(ARQC - 在线授权请求) .

P1编码如下

Ex-Gen AC 命令

C: 80 AE 80 00 其他数据
R: SW1/SW2=9000 (正常处理:无错误) Lr=32
77 1E 9F 27 01 80 9F 36 02 02 13 9F 26 08 2D F3
83 3C 61 85 5B EA 9F 10 07 06 84 23 00 31 02 08

。 现在决策由卡做出,终端在 Gen AC 命令的响应中获得卡决策。卡片 return 标签 9F27 - 密码信息数据。这里卡 return 80 即 卡希望在线交易.

您的问题确实很重要,您需要阅读更多规范以明确此主题。请检查 EMV BOOKs, for more in this topic. also can read - Terminal action analysis or Card Action analysis