Getnet DocsGetnet Docs

Verifica la conectividad del terminal (Polling)

Esta guía te muestra cómo verificar si la Getnet Payment App está conectada y lista para recibir comandos. La operación de Polling comprueba la conectividad y confirma que el terminal está listo para procesar nuevas solicitudes.

Antes de comenzar

Antes de comenzar, asegúrate de contar con lo siguiente:

  • Getnet Payment App instalada en el terminal Android
  • Tu aplicación configurada para manejar Android Intents
  • Conocimientos básicos del modelo de integración App2App

Recomendación: Ejecuta una solicitud de Polling como paso inicial antes de cualquier operación. Así confirmas que el terminal está listo y no está procesando otra transacción.

Paso 1: Envía la solicitud de polling

Para verificar la conectividad del terminal, crea un Intent con el URI de Polling y envíalo a la 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)
}

El deeplink de Polling no requiere parámetros. El terminal responde de inmediato con su estado actual.

Paso 2: Procesa la respuesta

Captura y procesa la respuesta que devuelve la Getnet Payment App en el 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 respuesta

ParámetroTipoDescripción
resultStringCódigo de estado: "0" indica que el terminal está listo
resultDetailsStringMensaje detallado sobre el estado del terminal

Ejemplo de respuesta cuando el terminal está listo:

{
  "result": "0",
  "resultDetails": "success"
}

Siguientes pasos

Una vez que verificaste que el terminal está listo mediante Polling, puedes continuar con: