Consultar chave transacional
Consulte se o terminal SmartPOS possui a chave transacional necessária para executar pagamentos com cartão no Plugin SmartPOS.
Consulte se o terminal possui a chave transacional necessária para executar pagamentos com cartão no Plugin SmartPOS.
A ausência da chave transacional impede transações com cartão. Se o terminal não possuir a chave, envie o dispositivo ao fabricante para gravação ou correção da chave.
Quando consultar a chave
Recomenda-se consultar a chave transacional na inicialização do plugin, antes de permitir pagamentos com cartão.
Use essa validação para:
- bloquear o fluxo de pagamento quando o terminal não tiver chave;
- exibir uma mensagem clara para o operador;
- evitar tentativas de transação que falhariam no terminal;
- identificar terminais que precisam ser corrigidos pelo fabricante.
Não é necessário inicializar o plugin previamente para consultar a chave transacional.
Classe utilizada
Para consultar a chave transacional, use a classe SmartPOSZoopKeyValidationRequestBuilder.
A requisição é criada por:
SmartPOSPlugin.createZoopKeyValidationRequestBuilder()Exemplo
val keyValidationRequest = SmartPOSPlugin.createZoopKeyValidationRequestBuilder()
.callback(object: Callback<SmartPOSZoopKeyValidationResponse>() \{
override fun onSuccess(response: SmartPOSZoopKeyValidationResponse) {
if (response.hasKey) {
handleTerminalHasTransactionKey()
} else {
// Terminal doesn't have transactional key
}
}
override fun onFail(error: Throwable){
// Terminal doesn't have transactional key
}
})
.build()
Zoop.post(keyValidationRequest)Retorno
A resposta contém a propriedade hasKey, que indica se a chave transacional está presente no terminal.
data class SmartPOSZoopKeyValidationResponse(
val hasKey: Boolean
)| Campo | Tipo | Descrição |
|---|---|---|
hasKey | Boolean | Retorna true quando o terminal possui chave transacional e false quando não possui. |
Callbacks
.callback
.callbackResponsável pelo fluxo da consulta: início, sucesso, falha e conclusão.
| Método | Quando ocorre | Ação recomendada |
|---|---|---|
onStart | A consulta foi iniciada. | Exiba um estado de carregamento, se necessário. |
onSuccess | A consulta foi concluída. | Verifique response.hasKey antes de liberar pagamentos com cartão. |
onFail | A consulta falhou. | Trate como terminal sem chave ou exiba uma mensagem de erro operacional. |
onComplete | A consulta terminou, com sucesso ou falha. | Remova estados de carregamento. |
Tratamento recomendado
Ao receber o resultado da consulta, trate os estados explicitamente:
1. Se response.hasKey for true, permita pagamentos com cartão.
2. Se response.hasKey for false, bloqueie pagamentos com cartão e oriente o envio do terminal ao fabricante.
3. Se onFail for chamado, exiba uma mensagem informando que não foi possível validar a chave transacional.
Não há correção do lado da Zoop quando a chave transacional está ausente. A correção deve ser feita pelo fabricante do terminal.
Checklist antes de pagamentos com cartão
Antes de chamar a requisição de pagamento com cartão, confirme:
- O terminal foi ativado.
- O SDK foi inicializado corretamente.
- O
SmartPOSPluginfoi conectado ao SDK. - A chave transacional foi consultada.
response.hasKeyretornoutrue.- O app exibe uma orientação clara quando a chave está ausente.
Próximo passo
Depois de validar a chave transacional, siga para Pagamento via cartão.
Updated 9 days ago
