# 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

```csharp
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:

1. A resposta do próprio comando `Cancel`.
2. A resposta do comando que foi cancelado, que retorna `Code` `2` (cancelado).

| Campo | Tipo | Obrigatório | Descrição |
| :--- | :--- | :--- | :--- |
| `Code` | int | Sim | Código de resposta. Consulte [Códigos de Resposta e de Erro](/pt/integrated-pos/reference/response-error-codes). |
| `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](/pt/integrated-pos/reference/response-error-codes) - interprete os códigos retornados pelas duas respostas.
* [Consultar o status de uma transação](/pt/integrated-pos/operational-guides/check-transaction-status) - confirme o status final de uma transação que você tentou cancelar.