ID TECH
Contacto
Todos los artículos técnicos

Publicación técnica

Primeros pasos con el Universal SDK de ID TECH

Una de las ventajas de elegir un lector de tarjetas de crédito fabricado por ID TECH es que la integración del dispositivo en un entorno de TPV o aplicación de pago puede realizarse de forma rápida y sencilla mediante un único kit de desarrollo de software, al que llamamos Universal SDK.

Es «universal» porque expone una API común en todos los productos compatibles de ID TECH y funciona de la misma manera con independencia del entorno.

Dicho esto, es importante tener en cuenta que el Universal SDK de ID TECH se ofrece en varias modalidades, según el tipo de sistema operativo en el que vayas a desplegar el dispositivo y el lenguaje de programación específico que quieras utilizar. Hay disponible un Universal SDK basado en C# (.NET 4.61, .NET Standard 2.0/2.1, .NET Core 3.1) para admitir la mayoría de los productos de ID TECH en Windows, pero si necesitas dar soporte, por ejemplo, a uno de nuestros lectores Bluetooth VP3300 mediante un teléfono Samsung, hay una versión del Universal SDK para Android basada en Java para ello. Si necesitas integrarlo con Linux, disponemos de un Universal SDK en C++ (con una versión opcional en Java también). Algunos de nuestros lectores móviles funcionan con iPads o iPhones, así que, por supuesto, también existe un Universal SDK para iOS (que te permite programar en Swift u Objective-C). Y sí, también ofrecemos soporte para Raspberry Pi (con C y Java).

A diferencia de algunos de nuestros competidores, ID TECH no cobra por sus SDK ni te exige adherirte a un «programa de desarrolladores». De hecho, puedes obtener la mayoría de las herramientas para desarrolladores (y la documentación) sin necesidad de registrarte para acceder. Solo tienes que ir a nuestro Base de Conocimiento, seleccionar una familia de productos y entrar en la página del producto correspondiente para encontrar los enlaces a los SDK. (Por ejemplo, consulta la VP3página del producto 300. Desplázate hasta «SDKs»).. Además, nuestro SDK de .NET se distribuye a través de NuGet para facilitar la integración con Visual Studio. La página del proyecto de nuestro SDK de .NET contiene documentación, ejemplos y otra información útil sobre la implementación de .NET en tus proyectos.

Lo que está disponible en nuestra Visual Studio .NET Página del proyecto?

  • Un enlace a NuGet.org, donde se aloja el ID TECH .NET bibliotecas
  • Ejemplos multiplataforma sobre el uso del SDK en Windows, Mac o Linux utilizando .NET Core 3.1
  • Documentación de la API del SDK, tanto en HTML y PDF formato
  • Ejemplo de código fuente que utiliza Xamarin para el desarrollo móvil en iOS y Android
  • Código fuente de nuestro uDemo software que controla todos los ID TECH dispositivos por USB, Serie e IP
  • Instalador compilado de nuestro uDemo software
  • Registro de cambios
  • Varios .NET utilidades basadas en para controlar/configurar ID TECH dispositivos

Lo que en el SDK paquete que descargas desde Base de conocimiento (no .NET versiones)? Al descomprimir el archivo Zip, encontrarás cuatro carpetas:

  • Demo Esta carpeta contiene ejecutables ya compilados correspondientes a los proyectos de código de ejemplo incluidos en la SourceCode carpeta. Habrá dos ejecutables: uno (denominado Simple Demo) que representa la aplicación de demostración «tutorial» más básica descrita en la documentación, y un segundo, una aplicación más elaborada que (al menos en el caso del SDK de Windows) tiene un aspecto y comportamiento similar al de UDemo utilidad destacada en una entrada anterior.
  • Documentos La documentación del SDK está disponible en dos formatos: HTML y PDF. Cada uno incluye una descripción exhaustiva de las API, ejemplos de uso, información de contexto, un recorrido tipo tutorial y mucho más.
  • SDK Aquíencontrarás las bibliotecas compiladas y otros recursos necesarios para que una aplicación pueda ejecutarse en la plataforma correspondiente. En equipos con Windows, encontrarás DLL. En MacOS, encontrarás archivos .DYLIB ; y en Android, un archivo JAR.
  • SourceCode Esta carpeta contiene archivos de cabecera, archivos de proyecto y código fuente para la aplicación Simple Demo (tutorial), además del código fuente de una aplicación de ejemplo más completa que muestra funcionalidades más avanzadas. Una vez más, lo que obtendrás dependerá del sistema operativo que utilices. El código fuente para Linux está en C y Java. Para Windows, según la versión exacta del SDK que descargues, podrás encontrar código en C# o C++. Para Android, en Java. Y para iOS, podrás elegir entre Objective-C o Swift.

Las bibliotecas del SDK gestionan la conectividad del dispositivo de forma específica para cada plataforma (y para cada producto), de modo que no tienes que preocuparte por los detalles de bajo nivel de la conexión al lector de tarjetas mediante RS-232, USB, Bluetooth o conector de audio (en el caso de los dispositivos móviles). Las bibliotecas se encargan de las particularidades del protocolo de comunicación de cada producto y te evitan tener que manejar directamente comandos a nivel de firmware. Así, por ejemplo, si quisieras consultar la versión de firmware de tu VP3300, normalmente, sin el SDK, tendrías que enviar un flujo de bytes en bruto correspondiente a la secuencia hexadecimal 5669564f74656368320029000000dea0, a través del puerto serie, y esperar una respuesta similar a:

Después tendrías que saber cómo verificar el CRC al final de la respuesta, extraer la carga útil de los bytes de delimitación, convertir esa carga a una cadena ASCII, etc. Con el Universal SDK, basta con llamar al método del API device_getFirmwareVersion()e inspeccionar la cadena que devuelve. El SDK se encarga de los detalles complejos: serializar y deserializar los datos, calcular los CRC, escribir y leer los búferes del puerto serie, etc.

El Universal SDK simplifica enormemente la ejecución de transacciones (ya sean de MagStripe, EMV con contacto o sin contacto), gracias a métodos auxiliares que permiten interpretar datos TLV (y/o datos MSR), códigos de estado y personalizar el comportamiento del dispositivo. El Universal SDK te permite programar a un nivel de abstracción bastante alto, de modo que no te ves obligado a lidiar con protocolos de datos, rutinas de análisis, tablas de búsqueda de códigos de error y otros detalles de bajo nivel.

¿Hay algo que el Universal SDK no haga? Pues sí: no incluye la lógica de negocio: esa partecorre por tu cuenta. Tampocoreconoce pasarelas ni procesadores; los principales procesadores de pagos disponen de sus propios SDK para acceder al host de autorización en línea. Esto significa quedeberás utilizar el SDK que te recomiende tu pasarela para conectarte y solicitar autorización (o liquidación, etc.) en el momento adecuado.

¿Es posible crear una aplicación de pago (incluida la integración con un lector de tarjetas ID TECH) sin usando el Universal SDK? Sí, de hecho lo es. Y algunos clientes de ID TECH(que a menudo necesitan integrarse con hardware de varios fabricantes, pero no quieren usar seis SDK distintos para ello) optan por esta vía.

Pero recuerda que esto implica que tendrás que:

  1. Crear tu propio código de conectividad (un controlador específico, en esencia) para comunicarte con el dispositivo a través de USB, COM, Bluetooth o el medio que corresponda.
  2. Comprender los comandos de firmware necesarios para controlar el dispositivo (ID TECH facilita esta información en la documentación de sus distintos productos)..
  3. Encargarte del empaquetado y desempaquetado de datos y comandos según los requisitos del protocolo del dispositivo (NGA, ITP, NEO 2, o el que corresponda).
  4. Gestionar tú mismo el análisis de los datos.
  5. Interpretar por tu cuenta los códigos de estado y de error.
  6. Hacer todo esto adaptándolo a los requisitos específicos del hardware y del sistema operativo de la plataforma a la que te dirijas.

¿Hay algún ventaja de optar por la vía sin SDK? Solo esta: dado que estás trabajando con bytes en bruto, la comunicación directa con el dispositivo es, básicamente, independiente del lenguaje de programación. Ya no importa qué lenguaje utilices, siempre que puedas comunicarte de forma nativa con el puerto serie (o el puerto USB, etc.). Así pues , si estás acostumbrado a programar en Pascal, Go o Kotlin (o en algún lenguaje que actualmente no sea compatible con el Universal SDK), podrás hacer el trabajo igualmente, aunque no con la misma facilidad.

¿Cuál es la mejor forma de empezar con el Universal SDK? Es sencillo: descárgalo y lee la documentación. Ve al enlace de la Base de Conocimiento o a la .NET página del proyecto más arriba y podrás estar programando esta misma tarde. Mientras tanto, si eres nuevo en EMV, quizá te interese empezar echando un vistazo a nuestro informe técnico sobre Transacciones EMV con el UniveSDK universal, que ofrece un repaso de EMV (transacciones con tarjeta chip) además de presentar una introducción al propio USDK.

Aplicaciones residentes en el dispositivo

¿Y qué hay de alojar una aplicación de pago en el propio dispositivo? ¿Es posible? En realidad, en algunos de los dispositivos más recientes de ID TECH(por ejemplo, los lectores de inserción VP5300 y el VP6800, entre otros), sí es posible alojar tu aplicación directamente en el dispositivo. Necesitarás estar familiarizado con el desarrollo de aplicaciones embebidas para sistemas operativos en tiempo real (y/o Linux), en ANSI C, pero sí, es posible, y sí, existe un conjunto especial de bibliotecas de conveniencia residentes en el dispositivo, conocido como ADF (siglas en inglés de Application Development Framework), dedicado específicamente a hacer posible que tu aplicación resida en el dispositivo.

¿Tienes preguntas sobre el Universal SDK (o el ADF)? Habla con uno de nuestros expertos internos. Ponte en contacto con nosotros en 1-800-984-1010. ¡Estaremos encantados de saber de ti!