¿Cómo podemos aceptar pagos con tarjeta presente (transacciones de deslizamiento) en nuestra aplicación nativa de Android?

Como la pregunta es bastante abierta, intentaré mantener mi respuesta en un nivel de 50k.

Pasos:

  1. Cero abajo en un dispositivo de captura de tarjeta (dispositivo esclavo) dependiendo de su regulación regional: tarjeta de banda magnética, chip y pin o ambos, según sea el caso.
  2. Estos dongle se conectan a su teléfono a través de Bluetooth o conector de 3,5 mm.
  3. Codifique las especificaciones del dispositivo Slave en la aplicación de Android. Dado que el dispositivo esclavo es un dispositivo tonto, se le debe decir cuándo solicitar que pase la tarjeta, ingrese PiN, etc. Transmite la información capturada a su aplicación. Algunos protocolos de seguridad tienen que ser implementados. Y será parte de las especificaciones del dispositivo de captura de tarjeta.
  4. En el caso de una transacción compatible con PiN, tendrá que encargarse del cifrado de PiN, que es una tesis en sí misma e involucra al fabricante del procesador y del dispositivo para hacer un saludo. Los más comunes para el cifrado de pin son DuKPT o Master / Session.
  5. Una vez que el dispositivo está integrado en sus aplicaciones de Android, está listo para ir desde un punto de vista tecnológico.

Esto es solo teoría. El procesamiento de la tarjeta es un proceso muy complicado e involucra también a otras partes. Simplemente construyendo una aplicación y conectándola al dispositivo de captura de Tarjeta no podrá aceptar transacciones hasta que, a menos que esté hablando de una red de circuito cerrado o una red privada