我正在开发VeriFone VX终端的接口。虽然,这确实是一个普遍的EMV问题。我们的处理器的底限为零,因此它将始终在线发送。但是,如果它发生变化,如果交易被批准或拒绝离线,您如何知道(什么标签)?或者,换句话说,你怎么知道上网?
答案 0 :(得分:9)
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 - 请求在线授权)。
前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 BOOKs,。也可以阅读 - Terminal action analysis或Card Action analysis
答案 1 :(得分:0)
假设您使用的是VeriFone的VIPA API,那么第一个“继续交易”#39命令(GenAC1)返回包含在TLV模板中的标签(或构造的' TLV标签)。此模板的值确定结果:
答案 2 :(得分:0)
AFAIK(在vanilla EMV中)在第一Cryptogram Information Data ('9F27')
期间返回的标记GENERATE AC
应该用于此目的。
请注意,此标记包含卡片的决定,因此您不会看到内核所需的密码类型。