Getnet DocsGetnet Docs

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âmetroTipoDescrição
resultStringCódigo de status: "0" indica que o terminal está pronto
resultDetailsStringMensagem 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: