我需要将磁道1和磁道2的数据从磁卡中取出,并通过网络将它们发送到等待服务器。从USB HID磁卡读取器获取跟踪数据的简单方法是什么?从简单的USB HID磁卡读卡器获取跟踪数据的最简单方法是什么?
万一有帮助,我有一个小的MagTek刷卡磁条阅读器(部件号21040140)。
我OS无关 - 适用于Windows,Mac或Linux的解决方案将是巨大的。最好不要使用.NET,但如果这是我为之付出的最简单的方法。
你们都在想什么?
谢谢!
我需要将磁道1和磁道2的数据从磁卡中取出,并通过网络将它们发送到等待服务器。从USB HID磁卡读取器获取跟踪数据的简单方法是什么?从简单的USB HID磁卡读卡器获取跟踪数据的最简单方法是什么?
万一有帮助,我有一个小的MagTek刷卡磁条阅读器(部件号21040140)。
我OS无关 - 适用于Windows,Mac或Linux的解决方案将是巨大的。最好不要使用.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源特定读者演示程序。从这个链接下载& CAB文件
http://www.magtek.com/support/software/demo_programs/usb_swipe_insert.asp
最简单的方法包括在在“的MagTek”文件夹中的项目目录。
http://www.magtek.com/support/software/demo_programs/card/usb_hid_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>
按照我加入的焦点上的文本框上面的代码。刷卡后,集中文本框会自动显示完整的信用卡数据字符串。
感谢您的回复。不幸的是,我所拥有的特定设备 - 部件编号21040140不在您链接的文档中(请参阅第3页的“硬件配置”表格)。涵盖此设备的文档是http://www.magtek.com/documentation/public/99875191-12.01.pdf – BuyTheBid 2010-10-12 21:14:49
其实我已经意识到我可以将此设备重置为KB模式 - 只需稍微玩一下他们的USBMSR演示应用程序可在支持页面上找到。 尽管如此,一个简单的HID解决方案也不错,所以键盘也可以使用。谢谢! – BuyTheBid 2010-10-12 21:40:12
@BuyTheBid。还有一个演示应用程序(带有源代码)。我更新了答案。 – PaulG 2010-10-12 21:44:44