Verifique a conectividade do terminal (Polling)
Este guia mostra como verificar se o Getnet Payment App está conectado e pronto para receber comandos. A operação de Polling checa a conectividade e confirma que o terminal está pronto para processar novas requisições.
Antes de começar
Antes de começar, confirme que você tem:
- Getnet Payment App instalado no terminal Android
- Sua aplicação configurada para tratar Android Intents
- Conhecimento básico do modelo de integração App2App
Recomendação: execute uma requisição de Polling como primeiro passo antes de qualquer operação. Assim você garante que o terminal está pronto e não está processando outra transação.
Passo 1: envie a requisição de Polling
Para verificar a conectividade do terminal, crie um Intent com a URI de Polling e envie para o Getnet Payment App.
private val POLLING_REQUEST_CODE = 1001
fun checkTerminalStatus() {
val intent = Intent(Intent.ACTION_VIEW, Uri.parse("getnet://payment/v1/polling"))
startActivityForResult(intent, POLLING_REQUEST_CODE)
}O deeplink de Polling não exige nenhum parâmetro. O terminal responde imediatamente com o status atual.
Passo 2: trate a resposta
Capture e processe a resposta retornada pelo Getnet Payment App no método onActivityResult.
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == POLLING_REQUEST_CODE && resultCode == RESULT_OK) {
val result = data?.extras?.getString("result")
val resultDetails = data?.extras?.getString("resultDetails")
when (result) {
"0" -> {
// Terminal is ready
Log.d("Polling", "Terminal ready: $resultDetails")
// Proceed with your operation
}
else -> {
// Terminal is not ready or error occurred
Log.e("Polling", "Terminal not ready: $resultDetails")
// Handle error appropriately
}
}
}
}Parâmetros de resposta
| Parâmetro | Tipo | Descrição |
|---|---|---|
| result | String | Código de status: "0" indica que o terminal está pronto |
| resultDetails | String | Mensagem detalhada sobre o status do terminal |
Exemplo de resposta quando o terminal está pronto:
{
"result": "0",
"resultDetails": "success"
}Próximos passos
Depois de confirmar que o terminal está pronto via Polling, você pode seguir para: