# Visión general del Get Mini Android SDK

El Get Mini Android SDK permite a los desarrolladores integrar pagos con tarjeta seguros en sus aplicaciones Android conectándose a un PIN pad externo de Get Mini. En este modelo, el dispositivo Android actúa como una **aplicación host**, mientras que todas las operaciones de lectura de tarjetas, entrada de PIN y operaciones criptográficas se ejecutan en el dispositivo PIN pad certificado.

Este SDK está diseñado para escenarios **mPOS (punto de venta móvil)**, donde un teléfono o tableta Android controla el flujo de pago y se comunica con un PIN pad emparejado a través de Bluetooth, USB o Wi-Fi.

## Lo que aprenderás

Esta descripción general presenta la arquitectura del Get Mini Android SDK, explica cómo tu aplicación se comunica con el PIN pad y el host de pagos, y resume las principales capacidades proporcionadas por el SDK. Después de leer esta sección, comprenderás el enfoque de integración y estarás listo para añadir el SDK a tu proyecto Android.

## Arquitectura

El SDK de Get Mini sigue una arquitectura host-terminal típica de las soluciones mPOS.

Tu aplicación Android integra una biblioteca mPOS del lado del cliente y es responsable de iniciar operaciones de pago, como ventas o devoluciones, proporcionando datos de transacción (importe, moneda, referencia de factura, etc.).

La comunicación con el hardware de pago físico se gestiona a través del **PIN pad Manager**, que establece y gestiona la conexión con el PIN pad de Get Mini a través de Bluetooth, USB o Wi-Fi. El PIN pad realiza todas las operaciones sensibles, incluida la lectura de tarjetas (EMV, Contactless o banda), la verificación del PIN y el manejo seguro de claves.

El Get Mini Android SDK intercambia mensajes con el host de autorización utilizando el protocolo P.U.P. Los resultados de las transacciones fluyen de vuelta desde el host, a través del PIN pad y el SDK, a tu aplicación, donde pueden procesarse y presentarse al usuario.

Esta arquitectura garantiza que los datos sensibles de las tarjetas y los procesos criptográficos permanezcan confinados a componentes de pago certificados, mientras tu aplicación mantiene el control de la experiencia de pago.

## Características principales

El SDK de Get Mini Android proporciona soporte para una amplia gama de operaciones de pago mPOS:

* **Pagos con tarjeta** utilizando chip (EMV), Contactless y banda a través de un PIN pad conectado.
* **Operaciones de transacción** que incluyen ventas, devoluciones (con o sin transacción original), preautorizaciones, confirmaciones y cancelaciones.
* **Pagos recurrentes y de referencia**, permitiendo cargos posteriores sin volver a presentar la tarjeta cuando lo admita el flujo de transacción.
* **Consultas operativas**, como búsquedas de transacciones, totales diarios, cierres de sesión y recuperación de datos de la boleta financiera.
* **Gestión del PIN pad**, incluido el estado de conexión, inicialización y apertura y cierre controlados de sesiones de comunicación.

Todas las operaciones de red se realizan de forma asíncrona y no deben ejecutarse en el hilo principal (hilo de UI) de Android.

## Métodos de integración

La funcionalidad de pago de Get Mini se puede integrar en tu solución Android utilizando diferentes enfoques. Esta documentación se centra en la **integración directa de la biblioteca** utilizando el Get Mini Android SDK.

| Método                             | Descripción                                                                                                                                        | Mejor para                                                                                                                  |
| :--------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------- |
| **Biblioteca Directa (iTPV-PC)**     | Integra la biblioteca mPOS directamente en tu aplicación Android para controlar la conexión del PIN pad y los flujos de pago de forma programática | Aplicaciones que requieren una integración estrecha con la lógica de negocio y control total del ciclo de vida del pago    |
| **App2App**                        | Lanza una aplicación de pago certificada a través de Android Intents para delegar el flujo de pago                                                | Integraciones más rápidas con un esfuerzo de desarrollo mínimo (documentado por separado)                                   |

Para integraciones App2App, consulta la documentación dedicada de Get Mini App2App.

## Próximos pasos

* [**Añadir el SDK a tu proyecto**](/es/get-mini/android-sdk/first-steps/add-sdk-to-project): Incluye la biblioteca del Get Mini Android SDK (.jar) en tu aplicación Android y configura las dependencias requeridas.
* [**Configurar permisos de Android**](/es/get-mini/android-sdk/first-steps/configure-android-permissions): Declara los permisos necesarios de Bluetooth y red para comunicarse con el PIN pad y el host de pagos.
* [**Inicio rápido: Tu primera venta**](/es/get-mini/android-sdk/first-steps/android-sdk-quickstart): Aprende cómo iniciar sesión, conectar e inicializar el PIN pad, y procesar un pago básico con tarjeta utilizando el SDK.