Recuperar o Último Comprovante
Este guia explica como recuperar ou reimprimir o comprovante da última transação de um POS Integrado usando a operação GetLastVoucher. O comportamento é o mesmo via USB e Rede (Network).
O que é o último comprovante
O último comprovante é o conteúdo do recibo da transação mais recente no terminal POS (uma venda ou um cancelamento). O GetLastVoucher aciona uma reimpressão ou retorna esse conteúdo sem reexecutar a transação. É útil quando o recibo foi perdido, a impressão falhou ou o cliente solicita uma segunda via.
Antes de começar
Antes de recuperar o último comprovante:
- Um Connector deve ser criado e validado usando
Polling - O Modo POS Integrado deve estar ativo
- Pelo menos uma transação deve ter sido concluída no terminal
Passo 1: Executar a requisição
Para recuperar ou reimprimir o comprovante da última transação, chame a operação GetLastVoucher. Você pode optar por imprimi-lo diretamente no POS ou receber o conteúdo na resposta.
Os seguintes parâmetros estão disponíveis para a operação GetLastVoucher:
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
PrintOnPos | Boolean | Não | Se true, o POS imprime o comprovante. Se false, o conteúdo do recibo é retornado em ReceiptContent. |
SkipReceipt | Boolean | Não | Se true, o recibo do cliente não é impresso; se false (padrão), ele é impresso. Ignorado quando PrintOnPos é false. |
O exemplo a seguir demonstra como solicitar a reimpressão do último comprovante diretamente no terminal POS:
var request = new LastTransactionRequest
{
PrintOnPos = true,
SkipReceipt = false
};
var voucherResult = await connector.GetLastVoucherAsync(request);Passo 2: Tratar a resposta
Após a conclusão, o POS retorna uma resposta estruturada com o status da operação e, se solicitado, o conteúdo do recibo. Veja abaixo um exemplo de objeto de resposta bem-sucedida:
{
"Code": 0,
"Message": "APPROVED",
"ReceiptContent": null
}O retorno contém apenas Code, Message e ReceiptContent. O ReceiptContent está null aqui porque a requisição definiu PrintOnPos como true. Quando PrintOnPos é false, o ReceiptContent retorna um objeto estruturado com os campos do recibo — consulte Responsabilidade de Impressão.
Sempre verifique o Code e a Message antes de processar o ReceiptContent.
Considerações importantes
Tenha em mente o seguinte:
- Somente o comprovante da transação mais recente pode ser recuperado (venda ou cancelamento).
- A operação não reprocessa nem reverte a transação.
- Se a última transação foi um Relatório, nenhum comprovante é impresso e uma mensagem explicativa é retornada.
Próximos passos
- Responsabilidade de Impressão — PrintOnPos e ReceiptContent.