En general, para una transacción con tarjeta no presente (es decir, transacciones MOTO) necesitará cC#, vencimiento y posiblemente el CVV (también conocido como CVC2, etc.). Puede obtener los primeros 2 desde un deslizamiento de tarjeta como este en los datos de la pista. CVV está impreso en la tarjeta.
El nombre en la tarjeta no importa tanto. A menos que su adquirente y el titular de la tarjeta estén usando la verificación de dirección, pero puede encontrar que entre ^^, puede tener un espacio en blanco que puede eliminar.
La parte que desea es track2 NNNNNNNNNNNNNNNN = 1210 donde NNNNN = número de tarjeta PAN y 1210 = Fecha de caducidad.
Incluso si track1 está vacío (lo que a veces es porque no se usa en el procesamiento), igual obtendrá el;?, Por lo que podría usar el índice del segundo; como comienzo de la cadena y = como el final de la cadena de CC#. Con los 4 caracteres después de = como el vencimiento.
Aconsejaría que el titular de la tarjeta firme algo en el registro de la transacción; de lo contrario, podrían disputar la tarjeta y realizar un reembolso.
Y no todas las tarjetas de crédito tienen exactamente dos pistas, algunas utilizan tres pistas.
Sólo pista2 se utiliza para el procesamiento y tiene un formato estandarizado.
Las tarjetas de débito generalmente no se pueden procesar (a menos que tengan una tarjeta de débito o visa).
P.S. no debe almacenar datos de CC en texto sin formato, intente mantener todo en memoria fuerte o cifrado.
tal vez quiere entrar en el negocio de las terminales de tarjetas de crédito? –
Mi esposa es fotógrafa y yo soy un desarrollador. Acabamos de registrarnos en PayPal Payments Pro y queremos poder procesar CC en el camino (ferias comerciales y demás). –
Encontré un complemento de GreaseMonkey para FireFox que me permite pasar directamente a la terminal virtual de PayPal. Aunque no es ideal, funcionará si no puedo resolver esto. –