Guía de inicio rápido
Esta guía proporciona el camino más rápido para integrar la redsys-tpv-business-lib en tu aplicación Android y ejecutar tu primera operación: la inicialización del TPV.
Prerrequisitos
Antes de comenzar, asegúrate de tener lo siguiente:
- Hardware: Un dispositivo TPV Android físico con el Get Smart SDK Payment Service instalado.
- Software: El archivo ZIP de la
redsys-tpv-business-lib(proporcionado por Getnet). - Entorno de Desarrollo: Android Studio con soporte para Java 21.
Paso 1: Añadir el repositorio local
El SDK se entrega como un archivo ZIP que contiene una estructura de repositorio Maven local. Debes configurar tu proyecto para localizar estos archivos.
- Extraer el SDK: Descomprime el archivo proporcionado en una ubicación segura de tu máquina de desarrollo (p. ej.,
C:\\Users\\MiUsuario\\RepositorioRedsys). - Configurar
settings.gradle: Abre el archivosettings.gradlede tu proyecto y añade la ruta al repositorio local dentro del bloquedependencyResolutionManagement.
dependencyResolutionManagement {
repositories {
maven {
// Point to the location where you unzipped the SDK
url = uri("C:\\Users\\MyUser\\RedsysRepository")
}
google()
mavenCentral()
}
}Si trabajas en equipo, considera colocar el repositorio en un directorio compartido del proyecto (p. ej., libs/repo) y usar rootDir en la URI para evitar conflictos de rutas absolutas.
Paso 2: Añadir la dependencia
Abre el archivo build.gradle de tu módulo de aplicación (normalmente app/build.gradle) para configurar la versión de Java y añadir la dependencia de la biblioteca.
1. Configurar Java 21
La biblioteca requiere Java 21. Asegúrate de que tus opciones de compilación estén configuradas estrictamente de la siguiente manera:
android {
// ... existing config ...
compileOptions {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
}
}2. Añadir la implementación
Añade la dependencia de la biblioteca al bloque dependencies.
dependencies {
// Replace '1.3.2' with the specific version from your delivery
implementation("es.redsys.adquirencia.tpva.service:redsys-tpv-business-lib:1.3.2")
}Paso 3: Inicializar el TPV
El “Hello World” de este SDK es la Inicialización. No puedes realizar pagos ni consultar datos hasta que el TPV se inicialice correctamente. Este proceso se conecta al Get Smart SDK Payment Service y valida las configuraciones de seguridad.
Para un inicio rápido, instanciaremos el repositorio manualmente, sin Inyección de Dependencias.
- Crear el Repositorio: Usa
PsaInitializationRepository.newInstance(). - Llamar a
initTpv(): Ejecútalo en un hilo de fondo; el SDK utiliza funciones suspend, así que usa alcances de corrutinas (comolifecycleScope) al llamar desde tu Activity o ViewModel.
Ejemplo de código
Añade el siguiente código a tu Activity principal o ViewModel para probar la conexión:
import androidx.lifecycle.lifecycleScope
import kotlinx.coroutines.launch
// Note: Verify the exact package for PsaInitializationRepository in the Javadoc provided with the ZIP
import es.redsys.adquirencia.tpva.service.api.PsaInitializationRepository
import es.redsys.adquirencia.tpva.service.model.RepositoryResult
// ... inside your Activity or ViewModel
fun performQuickStart() {
lifecycleScope.launch {
// 1. Manually instantiate the repository (Quickest way for testing)
// Ideally, pass the Application Context
val initializationRepository = PsaInitializationRepository.newInstance(context = this@MainActivity)
// 2. Execute Initialization
println("Starting TPV Initialization...")
val result = initializationRepository.initTpv()
// 3. Handle the Result
when (result) {
is RepositoryResult.Success -> {
val tpvInfo = result.data
println("✅ TPV Initialized Successfully!")
// Accessing configuration flags
println("Preauth Enabled: ${tpvInfo.config.showPreauthorizations}")
// Accessing Merchant Data from the Virtual Terminal List
val terminalData = tpvInfo.virtualTerminalList?.firstOrNull()
println("Merchant Name: ${terminalData?.merchantName}")
println("Terminal ID: ${terminalData?.terminal}")
}
is RepositoryResult.ConnectionError -> {
println("❌ Connection Error: Ensure Smart SDK Payment Service is running.")
}
is RepositoryResult.ProtocolError -> {
println("❌ Protocol Error: ${result.type} - ${result.description}")
}
is RepositoryResult.Cancelled -> {
println("⚠️ Operation Cancelled: ${result.message}")
}
}
}
}Salida esperada
Si la integración es correcta y el dispositivo está configurado, verás que se ejecuta la rama RepositoryResult.Success, imprimiendo el Nombre del Comercio y el ID del Terminal desde el host de Getnet.
Resumen
Has completado con éxito:
- La configuración del repositorio Maven local.
- La configuración del proyecto para usar Java 21.
- La conexión con el Get Smart SDK Payment Service y la inicialización del TPV.
Ahora estás listo para procesar pagos.
Siguiente Paso: Aprende cómo configurar el Ajuste de Inyección de Dependencias para una arquitectura lista para producción, o salte directamente a Inicializar el TPV.