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ámetro | Tipo | Descripción |
|---|---|---|
| result | String | Código de estado: "0" indica que el terminal está listo |
| resultDetails | String | Mensaje 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: