简体   繁体   English

EMV 离线批准/拒绝

[英]EMV Offline Approval/Decline

I'm developing an interface to a VeriFone VX terminal.我正在开发 VeriFone VX 终端的接口。 Although, this is really a general EMV question.虽然,这确实是一个通用的 EMV 问题。 Our processor has a zero floor limit, so it will always be sent online.我们的处理器具有零下限限制,因此它将始终在线发送。 However, in case it ever changes, 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?或者,换句话说,你怎么知道要不要上网?

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?

The terminal has to decides either to proceed the transaction offline, to go online or to reject the transaction.终端必须决定离线进行交易、上线或拒绝交易。 Here terminal send a command (AC) to the card and response of this command helps terminal to decide the action next followed.这里终端向卡发送命令(AC),该命令的响应帮助终端决定接下来的动作。

Decision making is depend on three fields -决策取决于三个领域 -
1) - Issuer Action Code 1) - 发行人行动代码
2) - Terminal Action Code 2) - 终端操作代码
3) - TVR 3) - 电视节目

IAC, TAC and TVR have the same structure. IAC、TAC 和 TVR 具有相同的结构。 For more to know this data you can see EMV BOOK 3如需更多了解此数据,您可以查看EMV BOOK 3

IAC Usage Example- 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.

when terminal perform DDA and it fails, it set corresponding bit in TVR that means TVR says- offline DDA is failed for this card.当终端执行 DDA 失败时,它在TVR中设置相应的位,这意味着 TVR 表示 - 此卡的离线 DDA 失败。 now terminal check IAC online and found DDA_Failed bit is on and same on in TVR, here terminal decision would be to go online and then it send a Gen AC command to card with p1 = 80 ( ARQC - Online authorisation requested).现在终端在线检查 IAC,发现 DDA_Failed 位在 TVR 中打开并且相同,这里终端决定是上线然后它发送一个 Gen AC 命令到 p1 = 80 的卡(ARQC - 请求在线授权)。

Coding of P1 as below P1的编码如下
p1的编码:-

Ex- Gen AC command Ex-Gen AC 命令

C: 80 AE 80 00 other data C: 80 AE 80 00 其他数据
R: SW1/SW2=9000 (Normal processing: No error) Lr=32 R:SW1/SW2=9000(正常处理:无错误) Lr=32
77 1E 9F 27 01 80 9F 36 02 02 13 9F 26 08 2D F3 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 83 3C 61 85 5B EA 9F 10 07 06 84 23 00 31 02 08

. . Now decision is made by card, Terminal get card decision in the response of Gen AC command.现在决定是由卡片做出的,终端在 Gen AC 命令的响应中得到卡片决定。 Card return tag 9F27 - Cryptogram Information Data.卡返回标签 9F27 - 密码信息数据。 here card return 80 ie cards wants transaction to go Online .这里卡返回 80 即卡想要交易上线

Really your question is important and you need to read more spec for clarity on this topic.您的问题确实很重要,您需要阅读更多规范以清楚了解该主题。 Please checks EMV BOOKs, for more in this topic.有关本主题的更多信息,请查看EMV 书籍 also can read - Terminal action analysis or Card Action analysis也可以阅读 - 终端动作分析卡片动作分析

Assuming you're using VeriFone's VIPA API, then the first 'Continue Transaction' command (GenAC1) returns tags wrapped in a TLV template (or 'constructed' TLV tag).假设您使用的是 VeriFone 的 VIPA API,那么第一个“继续交易”命令 (GenAC1) 将返回包装在 TLV 模板(或“构造”TLV 标签)中的标签。 The value of this template determines the result:这个模板的值决定了结果:

  • E3: Locally authorized E3:本地授权
  • E4: Requires online authorization E4:需要在线授权

AFAIK (in vanilla EMV) the tag Cryptogram Information Data ('9F27') returned during 1st GENERATE AC should serve this purpose. AFAIK(在vanilla EMV中)在第一次GENERATE AC期间返回的标签Cryptogram Information Data ('9F27')应该用于此目的。

See EMV Book 3, Table 14 .参见EMV 手册 3,表 14

Beware, that this tag contains the decision of the card, so you won't see the cryptogram type the kernel required.请注意,此标签包含卡的决定,因此您不会看到内核所需的密码类型。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM