Comprobación del estado de la transacción

  • Actualización

 

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. El messageCategory selecciona el tipo de operación (por ejemplo, un pago). Consulta la referencia de la API para ver todos los campos de MessageReference si 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 POITransactionID para 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 POITransactionID que 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 de MessageReference.

¿Fue útil este artículo?

Usuarios a los que les pareció útil: 0 de 0