我需要获取轨道1并跟踪2个数据,然后将它们从磁卡上移出,然后将它们通过网络发送到等待服务器。从USB HID HID磁卡读取器获取轨道数据的简便方法是什么?

如果有帮助的话,我有一个Magtek迷你滑动磁条读取器(第21040140部分)

我是OS不可知论 - Windows,Mac或Linux的解决方案将很棒。最好是No .Net,但是如果这是最简单的方法。

你们都怎么看?

谢谢!

有帮助吗?

解决方案

我见过的每个读卡器都有一个键盘模拟器,因此您可以刷卡,并通过键盘缓冲区发送字符。看起来这也是如此(文档: http://www.magtek.com/documentation/public/99875206-16.01.pdf)

第14页描述了滑动后发送的数据,这再次是跨卡读取器的相当标准的数据:
TK1 SS] [TK1数据] [ES] [TK2 SS] [TK2数据] [ES] [TK3 SS] [TK3数据] [ES] [CR

因此,您的曲目一个数据以 % 并以 ?
跟踪两个数据以 ; 并以 ?

我注意到这个问题已被标记为信用卡,因此值得确保您知道在网络(甚至是内部网络)上发送原始卡数据的后果。看看支付卡行业数据安全标准(PCI-DSS): https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml


VB源附带的特定读者有一个演示程序。
http://www.magtek.com/support/software/demo_programs/usb_swipe_insert.asp

其他提示

从此链接下载CAB文件并将其包含在“ Magtek”文件夹中的项目目录中的最简单方法。

http://www.magtek.com/support/software/demo_programs/card/usb_hid_swipe_swipe_swipe_readers/read_parse.asp

标签之后,将此代码添加到ASPX文件中(根据按下更改CAB文件SRC)

   <object id="USBHID" classid="CLSID:22571E97-956A-4CDD-AF8D-AE9C26597683" codebase="magtek/99510060.CAB#version=1,13,0,2">
    </object>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
        $(function () {
$('#txtNameFirst').focus();  // Focus on a textbox is required
 USBHID.PortOpen = true;
            if (USBHID.PortOpen == false) {
                $('#<%= lblStatus.ClientID %>').text('Could not open MagTek reader');

            }
            else {
                $('#<%= lblStatus.ClientID %>').text('Please Swipe a card');
            }
    });
 $("#txtNameFirst").bind('change', function () {

var CCData = $("#txtNameFirst").val();  // CCData will contain the complete credit card data in a string.

alert(CCData);
$("#txtNameFirst").val(CCData.split('^')[1].split(' ')[0]);
                        $("#txtNameLast").val(CCData.split('^')[1].split(' ')[1]);
                        $("#txtCCNo").val(CCData.split('^')[0].substring(2, 18));
                        //alert('  Split1: ' + CCData.split('^')[1] + '  Split2: ' + CCData.split('^')[2]);
                        //alert('parsing good!');
                        $("#txtExpiDt_RoutingNo").val(CCData.split('^')[2].substring(2, 4) + '/' + CCData.split('^')[2].substring(0, 2));
});
    </script>

根据上述代码,我添加了专注于文本框。刷卡后,以卡为中心的文本框自动显示完整的信用卡数据字符串。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top