4

我正在开发一个 VeriFone VX 终端的接口。虽然,这确实是一个通用的 EMV 问题。我们的处理器的下限为零,因此将始终在线发送。但是,如果它发生变化,您如何知道(哪些标签)交易是离线批准还是拒绝?或者,换句话说,你怎么知道上网与否?

4

3 回答 3

10
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中打开并且相同,这里终端决定是在线,然后它向卡发送Gen AC命令p1 = 80(ARQC - 请求在线授权)。

P1的编码如下
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 命令的响应中获得卡片决定。卡返回标签 9F27 - 密码信息数据。这里卡返回 80 即卡要在线交易

确实,您的问题很重要,您需要阅读更多规范才能清楚地了解该主题。请查看EMV 书籍,了解本主题的更多信息。也可以阅读 -终端动作分析卡片动作分析

于 2015-12-09T05:58:17.107 回答
0

假设您使用的是 VeriFone 的 VIPA API,那么第一个“继续交易”命令 (GenAC1) 返回包装在 TLV 模板中的标签(或“构造的”TLV 标签)。这个模板的值决定了结果:

  • E3:本地授权
  • E4:需要在线授权
于 2015-12-08T06:37:00.613 回答
0

Cryptogram Information Data ('9F27')AFAIK(在 vanilla EMV 中)第一次返回的标签GENERATE AC应该用于此目的。

参见EMV 手册 3,表 14

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

于 2015-12-09T00:46:58.573 回答