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

时间:2016-10-27 19:01:41

标签: java c# emv

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

我打算专注于一个特定的USB读卡器,它有C#.NET和Java SDK可用(也是C ++,但我没有用该语言进行开发),但是如果我要去别处看,我必须看别处。那么,利用这些平台中的任何一个,有没有办法通过.NET或Java设备监听器读取数据,然后能够专注于已打开的浏览器窗口中的一个或多个字段来输入卡数据?

或者,我可以使用特定浏览器中的任何可用内容并强制用户使用该浏览器吗?我想过可能会使用ActiveX,但我的印象是它正在逐步淘汰。到目前为止,我发现并没有帮助我写一个已打开的浏览器窗口,只需打开一个新的浏览器窗口。此外,根据会计系统的性质,我无法实现任何类型的ASP.NET或Java Web应用程序来处理读卡器的操作。它只允许JavaScript自定义,我很无法从连接到PC的USB设备访问输出。

1 个答案:

答案 0 :(得分:2)

我认为您正在寻找所谓的键盘楔形'。对于芯片阅读器,我还没有听说过任何开箱即用的东西。

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

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