2010-10-12 15 views
5

Necesito obtener datos de la Pista 1 y de la Pista 2 de las tarjetas magnéticas y enviarlos a través de la red a un servidor en espera. ¿Cuál es una manera fácil de obtener los datos de la pista de un lector de tarjetas magnéticas USB HID?¿Cuál es la forma más fácil de obtener datos de seguimiento de un simple lector de tarjeta magnética USB HID?

En caso de que ayuda, tengo un MAGTEK Mini lector de banda magnética de Gaza (N ° 21.040.140.)

estoy OS agnóstico - una solución para Windows, Mac o Linux sería grande. Preferiblemente no .NET, pero si esa es la manera más fácil, lo conseguiré.

¿Qué piensan todos?

Gracias!

Respuesta

4

Cada lector de tarjetas que he visto tiene un emulador de teclado, por lo que desliza la tarjeta y envía caracteres a través del búfer del teclado. Parece que éste también lo hace (documentación: http://www.magtek.com/documentation/public/99875206-16.01.pdf)

página 14 describe los datos enviados después de un golpe, lo que es más, bastante estándar a través de lectores de tarjetas:
[Tk1 SS] [Datos Tk1] [ES] [ tk2 SS] [tk2 de datos] [ES] [tk3 SS] [datos tk3] [ES] [CR]

Así que su primera vía de datos comienza con % y termina con ?
la segunda vía de datos comienza con ; y extremos con ?

Noté que la pregunta estaba etiquetada como crédito -card, por lo que valdría la pena asegurarse de que conozca las consecuencias de enviar datos brutos de la tarjeta a través de una red (incluso una red interna). Echar un vistazo a las Normas de tarjetas de pago Datos de la Industria de Seguridad (PCI-DSS): https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml


hay un programa de demostración para ese lector específico que viene con fuente de VB.
http://www.magtek.com/support/software/demo_programs/usb_swipe_insert.asp

+0

Gracias por su respuesta. Lamentablemente, el dispositivo específico que tengo, n. ° de pieza 21040140, no está cubierto por el documento que ha vinculado (consulte la tabla "Configuraciones de hardware" en la página 3). El documento que cubre este dispositivo es http://www.magtek.com/documentation/public/99875191-12.01.pdf – BuyTheBid

+0

. En realidad, me he dado cuenta de que puedo restablecer este dispositivo al modo KB, solo me lleva un poco jugar con su aplicación de demostración USBMSR disponible en las páginas de soporte. Sin embargo, una solución HID simple sería agradable para que también se pueda usar un teclado. ¡Gracias! – BuyTheBid

+0

@BuyTheBid. También hay una aplicación de demostración (con fuente) disponible. Actualicé la respuesta. – PaulG

0

manera más fácil de descargar el archivo CAB desde este enlace & incluirlo en el directorio del proyecto en una carpeta "MagTek".

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

añadir este código en el archivo aspx después de la etiqueta (src cab cambio de acuerdo)

<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> 

De acuerdo con el código anterior, he añadido el foco en un cuadro de texto. Después de deslizar los cuadros de texto centrados en la tarjeta, se muestra automáticamente la cadena completa de datos de la tarjeta de crédito.

Cuestiones relacionadas