Cancelar una operación en curso
Esta guía muestra cómo abortar un comando en ejecución en el terminal, como una Sale con el importe equivocado. La cancelación devuelve el terminal a la pantalla POS Connected.
Cómo funciona
Cancel interrumpe el comando en curso y libera el terminal. Solo tres comandos aceptan la cancelación:
- Sale (tarjeta o QR)
- Refund
- Pre-authorization
Cualquier otro comando rechaza la solicitud. Cancel no toma parámetros: siempre actúa sobre lo que se está ejecutando en ese momento.
Requisitos previos
Necesitas un Connector creado y validado con Polling, y un comando cancelable efectivamente en curso en el terminal.
Paso 1: Enviar la solicitud de cancelación
var cancelResult = await connector.CancelAsync();Paso 2: Manejar ambas respuestas
Una cancelación exitosa devuelve dos respuestas, y tu aplicación debe estar preparada para ambas:
- La respuesta del propio comando
Cancel. - La respuesta del comando cancelado, que devuelve
Code2(canceled).
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
Code | int | Sí | Código de respuesta. Consulta Códigos de respuesta y error. |
Message | String | Sí | Mensaje de texto que representa el resultado de la operación. |
Dos casos de falla devuelven un mensaje en su lugar:
- Cancelar un comando que no acepta la cancelación devuelve
The operation isn't cancellable. - Cancelar sin nada en curso devuelve
There's no active operation to cancel.
Si la cancelación tiene éxito, el terminal vuelve a la pantalla POS Connected. Si falla, el terminal mantiene el flujo de pantallas del comando que ya se está ejecutando.
Consulta también
- Códigos de respuesta y error - interpreta los códigos devueltos por ambas respuestas.
- Consultar el estado de una transacción - confirma el estado final de una transacción que intentaste cancelar.