Cancelar uma operação em andamento
Este guia mostra como abortar um comando que já está em execução no terminal — por exemplo, uma Sale (venda) enviada com o valor errado — e devolver o terminal à tela POS Connected.
Como funciona
O Cancel interrompe o comando em andamento e libera o terminal. Somente três comandos aceitam cancelamento:
- Sale (cartão ou QR)
- Refund
- Pre-authorization
Qualquer outro comando recusa a requisição. O Cancel não recebe parâmetros: ele sempre atua sobre o que estiver em execução no momento.
Antes de começar
Você precisa de um Connector criado e validado com Polling e de um comando cancelável de fato em andamento no terminal.
Passo 1: Envie a requisição de cancelamento
var cancelResult = await connector.CancelAsync();Passo 2: Trate as duas respostas
Um cancelamento bem-sucedido retorna duas respostas, e sua aplicação deve estar preparada para as duas:
- A resposta do próprio comando
Cancel. - A resposta do comando que foi cancelado, que retorna
Code2(cancelado).
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
Code | int | Sim | Código de resposta. Consulte Códigos de Resposta e de Erro. |
Message | String | Sim | Mensagem de texto que representa o resultado da operação. |
Dois casos de falha retornam uma mensagem no lugar disso:
- Cancelar um comando que não aceita cancelamento retorna
The operation isn't cancellable. - Cancelar sem nada em andamento retorna
There's no active operation to cancel.
Se o cancelamento for bem-sucedido, o terminal volta para a tela POS Connected. Se falhar, o terminal mantém o fluxo de telas do comando já em execução.
Próximos passos
- Códigos de Resposta e de Erro - interprete os códigos retornados pelas duas respostas.
- Consultar o status de uma transação - confirme o status final de uma transação que você tentou cancelar.