smartcard - EMV Tag 91 发行人身份验证数据 - 如何确定响应中的标签格式

标签 smartcard payment-processing emv

如果存在,当在交易响应中返回时,EMV 标签 91 发行者身份验证数据可以有几种不同的格式。根据我(有限)的理解,这可能是由卡品牌决定的。

例如

  • MasterCard Tag 91 包括作为 Tag 91 数据一部分的卡状态更新
  • Visa 标签 91 包括授权响应代码作为标签 91 数据的最后两个字节。

  • 我需要解决一个问题,即在非批准响应的情况下,标签 8A 授权响应数据不会作为 EMV 标签数据的一部分返回。支付平台已建议取标签 91 的最后 2 个字节并将其分配给标签 8A,但标签 91 并不总是包含授权响应代码值,并且在某些情况下或品牌中并不总是返回标签 8A。

    我想实现一个更强大的修复,我们验证标签 91 的格式,而不是仅仅说 If Visa... do this... If Discover... do that。

    任何有关如何构建标签 91 的建议(例如对 EMV Book 文档的引用)都将不胜感激。

    谢谢,

    最佳答案

    我过去调查过这个问题,结果如下。

    万一标签 0x8A未知 可以从标签 0x91 中获取,但仅适用于某些卡片品牌/配置文件。

    一般来说,如果长度为0x91是 10 个字节(20 个十六进制字符),标签值可以拆分为:

  • 8 个字节 ARPC ;
  • 2 个字节 授权响应码 (ARC,即标签 0x8A )或 卡状态更新 ( CSU ) 或 ARPC 响应码 ;

  • 标签 0x8A出现在标签内 0x91在下一个卡片配置文件中:
  • 美国运通(引用 AEIPS,“发行人身份验证”);
  • JCB(引用 JCB ICC 规范,“EXTERNAL AUTHENTICATE 命令”);
  • 万事达卡(仅适用于 M/Chip Lite v2.1);
  • Visa(引用 VIS,“在线请求和响应数据”);
  • 银联(引用 UICC,“在线处理”);

  • 提取不是一个案例0x8A来自标签的值 0x91对于下一个卡片配置文件:
  • Diners/Discover(引用 D-PAS,“ISSUER AUTHENTICATION”),标签内 0x91已放置卡状态更新 (CSU);
  • 万事达卡(引用 M/Chip 版本 <> 2.1),标签 0x91不同长度或内标0x91放置了 ARPC 响应代码。它不是 ARC;
  • 兼容 CCD 的 EMV 卡(引用 EMV),使用不同长度和格式的标签 0x91 ;

  • 标签提取0x8A来自标签的值 0x91可能只能作为临时解决方案。您可能会看到并非所有卡配置文件都允许它。
    实际上,它需要在回复消息中以明确的形式返回 Acquirer。

    祝你好运。

    关于smartcard - EMV Tag 91 发行人身份验证数据 - 如何确定响应中的标签格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49142195/

    相关文章:

    authentication - 浏览器不提示输入客户端证书

    arrays - 希望将 EMV 数据解析为 TLV

    iso8583 - J8583 Api 和 EMV 凭证

    java - 如何在字节 Java 中发送大于 127 的值

    c# - 需要有关密码算法的建议

    java - NXP Desfire EV1 与 J3D081 - JCOP 卡

    ruby-on-rails - 在 Rails : Paypal, 纯商家帐户/网关或 Chargify 之类的系统中实现我们的计费系统?

    paypal - 网上信用卡付款处理

    payment-gateway - 支付宝一键购买

    Android - 从 EMV 信用卡读取可用的详细信息