Getnet DocsGetnet Docs

Gerenciar Configurações do Dispositivo

Este guia explica como ajustar a configuração em tempo de execução do Get Smart SDK Payment Service utilizando o SettingsRepository. Você pode controlar elementos da experiência do usuário, como o pop-up nativo de resultado da transação e o idioma do serviço.

Pré-requisitos

Antes de modificar as configurações, certifique-se de que você:

  • Importou a biblioteca redsys-tpv-business-lib em seu projeto.
  • Inicializou o TPV com sucesso usando InitializationRepository.initTpv().
  • Obteve uma instância de SettingsRepository (via Dagger Hilt ou instanciação manual).

Controlando o Pop-up de Resultado da Transação

Por padrão, o Get Smart SDK Payment Service pode exibir uma mensagem pop-up nativa ao concluir uma transação. Você pode habilitar ou desabilitar esse comportamento para depender exclusivamente da interface do seu aplicativo para fornecer feedback.

  1. Acesse o Repositório: Use sua instância de SettingsRepository.
  2. Chame updateShowTransactionResult: Passe um valor booleano para a função.
    • true: O serviço mostra a mensagem de resultado nativa.
    • false: O serviço oculta a mensagem, permitindo que você mostre a sua própria.

Exemplo 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")
    }
}

Esta configuração se aplica a transações futuras executadas após a chamada do método.


Alterando o Idioma do Serviço

Você pode atualizar o idioma utilizado pela interface do Get Smart SDK Payment Service (ex: para mensagens do sistema ou telas de inserção de PIN).

  1. Acesse o Repositório: Use sua instância de SettingsRepository.
  2. Chame updateLanguage: Passe um valor do enum LanguageIso6391.

Exemplo de Código

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")
    }
}

Resumo

  • Use updateShowTransactionResult(false) para suprimir as telas nativas de sucesso/erro.
  • Use updateLanguage() para localizar a interface do serviço.
  • Ambos os métodos retornam um RepositoryResult<Boolean> indicando o sucesso da operação.

Próximos Passos