Tokenizar Credenciais de Cartão
Este guia explica como gerar tokens de autenticação utilizando o AuthRepository. Os tokens permitem que sua aplicação se autentique de forma segura com serviços de terceiros ou sistemas de backend em nome do estabelecimento, sem a necessidade de manipular diretamente dados sensíveis de cartões.
Pré-requisitos
- O TPV deve estar inicializado via
InitializationRepository. - Você deve ter acesso ao
AuthRepository(via Dagger Hilt ouRepositoryProvider).
Gerando um Token
Para recuperar um token, utilize a função getToken. Esta função comunica-se com o Get Smart SDK Payment Service para emitir um token seguro utilizável por terceiros.
Passos
- Chamar
getToken: Invoque a função suspend em sua instância deAuthRepository. - Tratar o Resultado: A função retorna um
RepositoryResult<AuthResult>. Você deve tratar o estado deSuccess, que contém a interface seladaAuthResult.
Exemplo de Código
suspend fun retrieveToken() {
// 1. Call getToken
val result = authRepository.getToken()
// 2. Handle the result
when (result) {
is RepositoryResult.Success -> {
// The request was successful, check the specific AuthResult
when (val authOutcome = result.data) {
is AuthResult.AuthInfo -> {
println("✅ Token Retrieved Successfully")
println("Token: ${authOutcome.token}")
println("Merchant ID: ${authOutcome.merchantId}")
println("FUC: ${authOutcome.fuc}")
println("Terminal: ${authOutcome.terminal}") // Available in TpvInfo, context dependent
}
is AuthResult.TokenNotFound -> {
println("❌ Token Not Found: ${authOutcome.message}")
}
}
}
is RepositoryResult.ConnectionError -> {
println("❌ Connection Error: Ensure the service is running.")
}
is RepositoryResult.ProtocolError -> {
println("❌ Protocol Error: ${result.type}")
}
is RepositoryResult.Cancelled -> {
println("❌ Operation Cancelled: ${result.message}")
}
}
}Entendendo a Resposta
A interface selada AuthResult fornece dois desfechos possíveis:
| Desfecho | Classe | Descrição |
|---|---|---|
| Sucesso | AuthInfo | Contém o token, fuc, merchantId, merchantName, merchantCountry e merchantCurrency. |
| Falha | TokenNotFound | Indica que um token válido não pôde ser gerado ou encontrado. Contém uma string de mensagem de erro. |
Resolução de Problemas
- ConnectionError: Se você receber este erro, verifique se o Get Smart SDK Payment Service está instalado e em execução no dispositivo.
- TokenNotFound: Isso pode indicar um problema de configuração nos parâmetros do estabelecimento no host da Getnet.
Próximos Passos
- Gerenciar Configurações do Dispositivo: Personalize a interface e o idioma do serviço.
- Consultar Histórico de Transações: Aprenda a buscar operações passadas utilizando o identificador ou filtros de data.
Português › Documentação › Documentação › Processador local (Espanha) › Get Smart › Get Smart SDK › Dispositivo e qualidade