使用 EMV 芯片读取信用卡并将数据写入基于 Web 浏览器的 POS 屏幕

Read Credit Card With EMV Chip and Write Data Into Web Browser-Based POS Screen

我正在尝试在基于 Web 的会计系统中设置一个 POS 屏幕,工作人员可以在其中读取标准磁条信用卡或带有 EMV 芯片的信用卡。据我所见,none 能够读取芯片的卡 reader 具有键盘仿真。所以问题是能够读取卡数据并将其输入到已经向用户开放的网络浏览器表单上的字段中。

我打算专注于一个特定的 USB reader,它有 C# .NET 和 Java 可用的 SDK(还有 C++,但我不擅长用该语言进行开发),但是如果我必须寻找其他地方,我必须寻找其他地方。那么,利用这些平台中的任何一个,有没有一种方法可以通过 .NET 或 Java 设备侦听器读取数据,然后能够专注于已经打开的浏览器中的一个或多个字段 window 以输入卡片数据?

或者,我可以使用特定浏览器并强制用户使用该浏览器吗?我考虑过可能使用 ActiveX,但我的印象是它正在被淘汰。到目前为止,我所发现的并不能帮助我写入一个已经打开的浏览器 window,只是完全打开一个新的浏览器 window。此外,基于会计系统的性质,我无法实施任何类型的 ASP.NET 或 Java 网络应用程序来处理卡 reader 的操作。它只允许 Java 脚本自定义,我很高兴无法访问连接到 PC 的 USB 设备的输出。

我认为您正在寻找所谓的“keyboard wedge”。我还没有听说过任何像芯片阅读器那样开箱即用的东西。

但是,如果您只需要读取卡号(而不是执行完整的 EMV),那么您可以很容易地自己创建一个。您是否能够创建一个独立的应用程序(可能是用 c++ 编写的)一直运行,并且可以充当设备 'listener'?即使用您选择的 SDK,等待卡片事件并调用命令来读取必要的 EMV 标签 (5A?)

然后为卡号中的每个数字触发键盘事件(如 here 所述),然后是 [enter] 事件。通过浏览器中的文本输入获得焦点,这可能会影响带有卡号的简单表单提交。