Getnet DocsGetnet Docs

Gestionar ajustes del dispositivo

Esta guía explica cómo ajustar la configuración en tiempo de ejecución del Get Smart SDK Payment Service utilizando el SettingsRepository. Puedes controlar elementos de la experiencia del usuario, como la ventana emergente (pop-up) nativa de resultado de la transacción y el idioma del servicio.

Prerrequisitos

Antes de modificar los ajustes, asegúrate de que has:

  • Importado la biblioteca redsys-tpv-business-lib en tu proyecto.
  • Inicializado el TPV con éxito utilizando InitializationRepository.initTpv().
  • Obtenido una instancia de SettingsRepository (vía Dagger Hilt o instanciación manual).

Control de la ventana emergente de resultado

Por defecto, el Get Smart SDK Payment Service puede mostrar un mensaje emergente nativo al finalizar una transacción. Puedes habilitar o deshabilitar este comportamiento para depender únicamente de la interfaz de tu aplicación para el feedback.

  1. Accede al Repositorio: Usa tu instancia de SettingsRepository.
  2. Llama a updateShowTransactionResult: Pasa un valor booleano a la función.
    • true: El servicio muestra el mensaje de resultado nativo.
    • false: El servicio oculta el mensaje, permitiéndote mostrar el tuyo propio.

Ejemplo de código

suspend fun configureResultUi(showNativePopup: Boolean) {
    // repository is an instance of SettingsRepository
    val result = settingsRepository.updateShowTransactionResult(
        showTransactionResult = showNativePopup
    )

    if (result is RepositoryResult.Success) {
        // The boolean data confirms the new state
        println("✅ UI Preference Updated: Native popup is now ${if (result.data) "enabled" else "disabled"}")
    } else {
        println("❌ Failed to update UI preference")
    }
}

Cambiar el idioma del servicio

Puedes actualizar el idioma utilizado por la interfaz de usuario del Get Smart SDK Payment Service (p. ej., para mensajes del sistema o pantallas de entrada de PIN).

suspend fun setServiceLanguage(lang: LanguageIso6391) {
    // repository is an instance of SettingsRepository
    val result = settingsRepository.updateLanguage(
        language = lang
    )

    if (result is RepositoryResult.Success) {
        println("✅ Language Updated to ${lang.name}")
    } else {
        println("❌ Failed to update language")
    }
}

Próximos pasos