# Instalación y configuración

Esta guía proporciona instrucciones detalladas sobre cómo integrar la `redsys-tpv-business-lib` en tu proyecto Android. La biblioteca se entrega como un repositorio Maven local con el fin de simplificar la integración offline y segura.

## Prerrequisitos

Antes de integrar la biblioteca, asegúrate de que tu entorno de desarrollo cumpla con los siguientes requisitos:

* **Versión de Java**: La biblioteca requiere **Java 21**.
* **Servicio de Pago**: El **Get Smart SDK Payment Service** (APK de Android) debe estar instalado y en ejecución en el terminal físico.
* **TPV Físico**: Se requiere un TPV físico Android para validar las transacciones.

## Paso 1: Configurar Java 21

Debes configurar tu proyecto Android para utilizar la compatibilidad con Java 21. Abre el archivo `build.gradle` de tu módulo de aplicación (normalmente `app/build.gradle`) y actualiza el bloque `compileOptions`:

```java
android {
    // ... existing configuration

    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_21
        targetCompatibility = JavaVersion.VERSION_21
    }
}
```

## Paso 2: Importar el repositorio

Getnet entrega el SDK como un **archivo ZIP** que contiene una estructura de repositorio Maven local. Esto incluye:

* **Archivos AAR** para las bibliotecas.  
* **Javadoc** para la documentación.  
* **Archivos POM** para la resolución automática de dependencias.

### 1. Extraer los archivos

Descomprime el archivo de entrega proporcionado en un directorio dedicado en tu máquina de desarrollo.

* **Ejemplo de Ruta**: `C:\\Users\\MiUsuario\\RepositorioRedsys`

### 2. Registrar el repositorio

Debes indicar a Gradle dónde buscar la biblioteca. Abre el archivo `settings.gradle` de tu proyecto y añade la ruta del repositorio local al bloque `dependencyResolutionManagement`.

**Ejemplo de Ruta Absoluta:**

```java
dependencyResolutionManagement {
    repositories {
        maven {
            url = uri("C:\\Users\\MyUser\\RedsysRepository")
        }
        google()
        mavenCentral()
    }
}
```

<Callout type="tip">

Para que tu proyecto sea portable entre diferentes máquinas (p. ej., para CI/CD o colaboración en equipo), coloca la carpeta del repositorio dentro de la raíz de tu proyecto (p. ej., en una carpeta libs) y utiliza una ruta relativa:

</Callout>

```java
url = uri("${rootDir}/libs/RedsysRepository")
```

## Paso 3: Añadir la dependencia

Una vez registrado el repositorio, puedes añadir la dependencia específica de la biblioteca a tu módulo de aplicación.

Abre tu archivo `app/build.gradle` y añade la siguiente línea al bloque de dependencias:

```java
dependencies {
    implementation("es.redsys.adquirencia.tpva.service:redsys-tpv-business-lib:1.3.2")
}
```

**Nota**: Asegúrate de que el número de versión (`1.3.2`) coincida con la versión específica proporcionada en tu paquete de entrega.

### Resolución de dependencias

El **Get Smart SDK** es modular. Debido a que el repositorio proporcionado incluye archivos POM, Gradle resolverá y extraerá automáticamente cualquier dependencia interna de Getnet requerida por la `redsys-tpv-business-lib`. No es necesario añadir manualmente otros archivos AAR del paquete.

## Próximos pasos

Con la biblioteca instalada y configurada, ahora puedes proceder a:

1. **Inyección de Dependencias**: Configurar la biblioteca mediante el [Ajuste de Inyección de Dependencias](/es/get-smart/get-smart-sdk/first-steps/dependency-injection-setup).  
2. **Inicialización**: [Inicializar el TPV](/es/get-smart/get-smart-sdk/integration-guides/payment-operations/initialize-the-tpv) para comenzar la comunicación con el Servicio de Pago.