Una solicitud de estado de transacción recupera el resultado de una transacción previa. Su uso principal es la recuperación: si tu aplicación perdió la conexión o se reinició durante el pago y nunca recibió la respuesta, una solicitud de estado te indica lo que realmente ocurrió para que no cobres dos veces ni dejes una venta en suspenso.
Requisito previo: una sesión activa.
La llamada
viewModelScope.launch {
clientSDK.sendTransactionStatusRequest(
RetailerMessageArguments.StatusRequestMessageArguments(
MessageReference(messageCategory = "Payment")
)
)
}
-
MessageReference— identifica qué mensaje/transacción verificar. ElmessageCategoryselecciona el tipo de operación (por ejemplo, un pago). Consulta la referencia de la API para ver todos los campos deMessageReferencesi necesitas apuntar a un mensaje específico en lugar del último.
Por defecto, esto recupera el estado de la transacción última completada en la categoría referenciada.
Lectura del resultado
when (message) {
is SuccessRetailerTransactionStatusResponse -> { /* leer el resultado recuperado */ }
is ErrorRetailerTransactionStatusResponse -> { /* no hay transacción coincidente / falló */ }
is RetailerDisplayRequest -> { /* progreso, si hay */ }
}
Una respuesta de estado exitosa lleva el resultado original de la transacción, incluyendo su POITransactionID, lo que convierte a la solicitud de estado en una forma de recuperar un ID de transacción POI que necesitas para una reversión pero que no almacenaste. Consulta la Guía: revertir una transacción.
Cuándo usarlo
- Después de una pérdida de conexión durante un pago — confirma si el pago se realizó antes de reintentar.
- Después de que tu aplicación se reinició a mitad de la transacción — recupera el resultado que perdiste.
-
Para recuperar un
POITransactionIDpara una reversión cuando no lo capturaste en el momento del pago.
Para pagos rutinarios donde recibiste la respuesta normalmente, no necesitas una solicitud de estado — ya tienes el resultado.
Relacionado
- Guía: realizar un pago — la transacción cuyo estado verificas.
-
Guía: revertir una transacción — utiliza el
POITransactionIDque puede recuperar una solicitud de estado. - Ciclo de vida de sesión e inicio de sesión — los escenarios de pérdida de conexión que hacen necesarias las comprobaciones de estado.
-
Referencia de API (
sdk-doc.zip) — campos completos deMessageReference.