# Requisitos de desarrollo - Getnet App2App

Este documento reúne todos los requisitos obligatorios, las mejores prácticas de seguridad, las prohibiciones y las restricciones técnicas para desarrollar aplicaciones integradas con los terminales POS de Getnet.

## Requisitos obligatorios
Para garantizar la certificación y la estabilidad operativa, debes seguir estrictamente las siguientes reglas:

- Las aplicaciones deben ser compatibles con Android 5.1 (22), Android 7.1 (25) y Android 10 (29).

- El desarrollo puede ser nativo o híbrido (por ejemplo, Xamarin), siempre que compile a "Android Runtime (ART)", como si fuera una aplicación nativa.

- La aplicación debe usar el Getnet Hardware SDK.

- Debes agregar los siguientes atributos al archivo `build.gradle` para firmar tu aplicación para el modelo de terminal TecToy Sunmi P2. Consulta a continuación:

    * `v1SigningEnabled true`
    * `v2SigningEnabled true`
    * `signingConfig signingConfigs.config`

Ejemplos:

```
android {
    //START - This method must be inserted into Android.{}
    signingConfigs {
        config {
            v1SigningEnabled true
            v2SigningEnabled true
        }
    }
//END - This method must be inserted into Android.{}
    buildTypes {
        debug {
            debuggable true
            testCoverageEnabled true
            signingConfig signingConfigs.config //This line should be inserted into buildTypes.
            crunchPngs false
        }
        release {
            minifyEnabled false
            debuggable false
            signingConfig signingConfigs.config //This line should be inserted into buildTypes.
            proguardFiles getDefaultProguardFile('proguard-android.txt','proguard-rules.pro')
            crunchPngs true
        }
    }
}
```

- La app debe tener una sección "**Contáctanos**" que ofrezca a los clientes la información de contacto necesaria para recibir soporte ante problemas o dudas. Esta sección debe estar bien visible y accesible con pocos toques.

- La app **debe** usar el **número de serie que proporciona la Getnet API**. Está prohibido usar el número de serie nativo de Android o IDs generados por la aplicación.

- Usa layouts dinámicos, ya que en el futuro la aplicación puede instalarse en otro hardware con resoluciones y densidades diferentes.

- La navegación por todas las pantallas debe ser fluida, sin fallos ni bloqueos de la aplicación.

- La app debe incluir los metadatos de consulta en el manifest para interactuar con el Getnet SDK. Esta información es necesaria para la comunicación entre apps en dispositivos con Android 11 o superior (SDK 30), como el TecToy Sunmi P3.

Ejemplo:

```
    <queries>
        <package android:name="com.getnet.posdigital.service" />
    </queries>
```

## Seguridad y mejores prácticas

Los desarrolladores son responsables de la seguridad de la información dentro de sus aplicaciones.

- Usa las mejores prácticas de programación en Android.

- Es responsabilidad del desarrollador garantizar la seguridad de la información dentro de la aplicación.

- Evita exponer datos sensibles del cliente, como contraseñas e información personal.

- Integridad de los datos.

- Revisa tu proyecto y elimina las imágenes y los datos que no se usen.

- Evita funciones con tiempos de espera infinitos que puedan dejar tu aplicación congelada o esperando un evento.

- No dejes encendida la antena Mifare; actívala solo cuando vayas a usarla.

- Uso consciente del consumo de datos.

- Uso consciente del papel de impresión: evita imágenes grandes, demasiado espacio en blanco, interlineados amplios y espacios al inicio y al final de los comprobantes.

- Uso consciente del consumo de memoria y CPU.

## Prohibiciones

Lo siguiente está estrictamente prohibido y provoca el rechazo inmediato durante la integración:

- Las WebApps y WebView están expresamente prohibidas por medidas de seguridad. Los desarrollos que usan tecnologías basadas en WebView están prohibidos. Por ejemplo: Ionic, Cordova. Durante el proceso de certificación de la aplicación, nuestro equipo de certificación usa herramientas para verificar si tu aplicación tiene WebView.

- Google Play Services no está disponible.

- La aplicación no puede comunicarse con ningún competidor directo o indirecto de Getnet o del Grupo Santander (incluidos bancos, adquirentes, subadquirentes y wallets).

- La aplicación no puede ejecutarse en modo de pantalla completa.

- La aplicación no puede modificar la configuración del sistema Android (por ejemplo, fecha, hora, ubicación, etc.).

- Acceso a recursos externos inapropiados (USB, Google Play...).

- El icono, el logo y el nombre de la aplicación no pueden vincularse a las identificaciones visuales de los siguientes elementos:

   * Getnet y sus productos;
   * Banco Santander;
   * Competidores directos o indirectos de Getnet o del Grupo Santander (incluidos bancos, adquirentes, subadquirentes y wallets).

## Siguientes pasos

* [Inicio rápido](/es/app2app/first-steps-a2a/create-quick-start-guide) - construye la integración que debe cumplir estos requisitos.
* [Arquitectura y flujo](/es/app2app/first-steps-a2a/architecture-flow) - mira cómo funciona el intercambio de Intents de extremo a extremo.