Recuperar el último comprobante
Esta guía explica cómo recuperar o volver a imprimir el comprobante de la última transacción desde un TPV Integrado con la operación GetLastVoucher. El comportamiento es el mismo en USB y red (Network).
¿Qué es el último comprobante?
El último comprobante es el contenido del recibo de la transacción más reciente en el terminal TPV (una venta o una cancelación). GetLastVoucher dispara una reimpresión o devuelve ese contenido sin volver a ejecutar la transacción. Es útil cuando se pierde el recibo, falla la impresión o el cliente pide un duplicado.
Antes de comenzar
Antes de recuperar el último comprobante:
- Debes crear y validar un Connector con
Polling - El Modo TPV Integrado debe estar activo
- Debe haber al menos una transacción completada en el terminal
Paso 1: Ejecutar la solicitud
Para recuperar o volver a imprimir el comprobante de la última transacción, llama a la operación GetLastVoucher. Puedes imprimirlo directamente en el TPV o recibir el contenido en la respuesta.
Los siguientes parámetros están disponibles para la operación GetLastVoucher:
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
PrintOnPos | Boolean | No | Si es true, el TPV imprime el comprobante. Si es false, el contenido del recibo se devuelve en ReceiptContent. |
SkipReceipt | Boolean | No | Si es true, el recibo del cliente no se imprime; si es false (predeterminado), se imprime. Se ignora cuando PrintOnPos es false. |
El siguiente ejemplo muestra cómo solicitar una reimpresión del último comprobante directamente en el terminal TPV:
var request = new LastTransactionRequest
{
PrintOnPos = true,
SkipReceipt = false
};
var voucherResult = await connector.GetLastVoucherAsync(request);Paso 2: Manejar la respuesta
Al finalizar, el TPV devuelve una respuesta estructurada con el estado de la operación y, si lo solicitas, el contenido del recibo. A continuación hay un ejemplo de un objeto de respuesta exitosa:
{
"Code": 0,
"Message": "APPROVED",
"ReceiptContent": null
}La respuesta contiene solo Code, Message y ReceiptContent. Aquí ReceiptContent es null porque la solicitud definió PrintOnPos como true. Cuando PrintOnPos es false, ReceiptContent devuelve un objeto estructurado con los campos del recibo — consulta Responsabilidad de impresión.
Verifica siempre el Code y el Message antes de procesar el ReceiptContent.
Consideraciones importantes
Ten en cuenta lo siguiente:
- Solo puedes recuperar el comprobante de la transacción más reciente (venta o cancelación).
- La operación no reprocesa ni revierte la transacción.
- Si la última transacción fue un informe (Report), no se imprime ningún comprobante y se devuelve un mensaje explicativo.
Siguientes pasos
- Responsabilidad de impresión — PrintOnPos y ReceiptContent.