EMV应用程序开发问题

13

我对EMV不太了解,目前我有一个紧急EMV应用程序开发项目,希望有人能回答以下问题:

  1. 什么是EMV L2应用内核?它是API还是可执行的EMV应用程序?

  2. 在EMV支付交易过程中,需要从芯片和PIN卡中捕获哪种数据(消息)信息,以便将其提交给银行卡发行人进行授权。支付交易数据应遵循哪个ISO规范。

  3. EMV终端与收单行之间需要连接的是哪种类型的连接方式?IP还是串口?

  4. 是否有适用于EMV应用程序开发的测试工具?例如收单方主机模拟。

5. 开发一个EMV应用程序需要多长时间?


由于问题已关闭,我只想评论一下:我开发了Mastercard和Visa内核,使用Java编写,针对Android设备。 Mastercard内核大约花费了8个月的时间,而Visa则花费了约4个月的时间。 MC的内核要复杂得多(可能是Visa的5-6倍)。 使用Java为Android开发内核可能比针对某些“砖头”终端的C语言更容易。 为MC准备认证需要30-50天,而Visa只需要10-20天。 - Ognyan
2个回答

35
1] EMV L2应用内核是什么?它是一个API还是可执行的EMV应用程序?
它更像是一个API而不是应用程序。这是一种软件,将使用底层硬件与您的EMV卡通信,并管理所有EMV应用级协议(APDU)。如果您正在为特定支付终端开发,请联系制造商购买其内核(例如:Ingenico、VeriFone)。如果您为PC解决方案开发,可以购买一些通用内核(例如:EmvX)。您可能不想编写自己的内核,该博客估计了这样做的成本:
EMV建议花费大约18个月的时间开发和证明接触内核。[...] 20万至40万欧元之间是正常值。
2] 在EMV付款交易期间,需要从芯片和Pin卡中捕获哪种数据(消息)信息,以便提交给银行卡发卡行进行授权。支付交易数据应适用于哪个ISO规范。
EMV协议的文档可公开在EMVco.com。EMV卡是芯片卡,这意味着您不需要从卡中捕获信息以后再提交给您的银行(收单行)。简而言之,您的卡将向您的应用程序提供其特征,并要求一组可变参数(例如:金额、日期、小费等)。您的应用程序将回复所需的信息,然后卡片将最终决定是否在线接受交易(在发卡方验证后),离线接受交易或拒绝交易。
3] EMV终端和收单行之间的连接方式是什么?IP还是串口?
未提供足够信息来回答这个问题。

终端和收单机之间大部分时间采用拨号连接(2012年美国60%的商家),或者IP连接。

4] 有没有针对EMV应用程序开发的测试工具?例如收单机主机模拟器。

很多。您需要一个卡发行商模拟器(Visa,Mastercard等),一个收单机(银行)模拟器,这将取决于您正在使用的收单机(在加拿大,可能是Base24)。然后你需要工具来解决你的应用程序和EMV卡之间的通信问题(例如:SmartSpy),以及最终准备认证的工具(例如:来自ICC SolutionsFime

5] EMV应用程序开发需要多长时间?

很长一段时间。在我工作的地方,一个6个开发人员团队,他们在EMV交易和支付应用方面有很强的经验,仅花了一年多一点时间从零开始编写新的支付应用程序,使其准备好进行认证。其中最痛苦的部分是成功完成认证测试。针对PC环境进行开发可能会使开发更容易(易于调试,更多的在线资源和文档等),但是如果没有内部技能和经验,成本将显著增加。


2
非常感谢您的回答。对于最后一个问题,我感到困惑,是需要一年时间来开发Ingenico终端的EMV内核(API),还是使用现有的EMV内核API开发EMV应用程序需要花费一年的时间?如果EMV内核(API)已经获得批准,那么使用此API的应用程序仍然需要在使用之前获得证书吗? - Bo Huang
2
使用现有的EMV内核编写该应用程序花费了一年时间。是的,即使EMV内核已经获得了认证,您的应用程序也必须获得认证,但这是不同层次的认证。 - Nicolas Riousset
2
我希望我能再次上升。它使我走上了正确的道路,而不是让我在Mastercard/Visa开发者文档中迷失方向,因为那里有一堆令人困惑的API,无法帮助我实现我的目标。 - steve
2
很好的回答。非常有信息量,因为我和Bo Huang处在同样的位置。谢谢 +1 - XFCC
1
关于4]的注释:我们已经开始使用Astrex测试环境,用于APACS 40 / APACS70,并发现它非常有用。 - MikeRoger
显示剩余2条评论

5
我至少可以为@nicolas-riousset的回答补充一些内容。
1)很遗憾,我在这里没有什么可补充的。
2)答案是检查您的终端和CVM的适用性规范,我认为还要检查终端和卡片以及任何处理器特定要求。
3)IP是可以的,但是有已建立的协议,大多数都使用SSL这些天。我相信即使是拨号号码的数量也已经显着下降了,因为那些“拨号”已经迁移到基于互联网的系统上,但是我不驾驶POS终端,不能确定。
4)一个单一的模拟平台可以完成这项工作,因为获取Base24、Postilion、Connex、SmartVista并不是一件小事。我们内部拥有VISA和MasterCard的模拟器以及其他几个模拟器,而VISA和MasterCard的模拟器将是我最后选择追求的,因为它们对终端到主机的帮助最少。我列出的关于能够在单个工作站上进行收单行、发卡行和处理器模拟的短名单如下,它们都有自己的怪癖。
  • Paragon的FasTest
  • ACI Worldwide的“ASSET”
  • Clear2Pay的Lexcel(最近被FIS收购)
5)基于EMV的复杂性、细微差别、人才积压等,我认为一年似乎是合理的时间,如果不是更长的话。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接