Getnet DocsGetnet Docs

Generar e imprimir recibos

Toda operación financiera procesada por Get Central puede dar lugar a la generación de uno o más recibos (boletas), dependiendo del tipo de operación, la configuración del terminal y las reglas de certificación. El propio TPVPC administra en gran medida los recibos, sujetos a estrictas restricciones técnicas y regulatorias.

Esta guía se aplica a TpvpcImplantado.

Get Central soporta dos modelos de manejo de recibos:

  • Generación e impresión automática de recibos, gestionada íntegramente por el TPVPC
  • Manejo manual de recibos, mediante la lectura de los campos relacionados con recibos en la respuesta XML

Requisitos

Antes de trabajar con recibos, asegúrate de que:

  • Una transacción se haya completado y haya devuelto una respuesta XML final
  • La máquina host tenga una impresora predeterminada configurada correctamente
  • El tipo de impresora (impresora de tickets o A4) coincida con la certificación del terminal

El TPVPC controla el diseño, el contenido y el comportamiento de impresión del recibo. La aplicación cliente no puede alterar los formatos de los recibos certificados.

Proceso de generación de recibos

El manejo de recibos depende del modo de funcionamiento y de la configuración del terminal.

Paso 1: Generación automática de recibos (controlada por el TPVPC)

Cuando el terminal está configurado para ello, el TPVPC genera e imprime los recibos automáticamente tras una operación exitosa (PAGO, DEVOLUCION, CONFIRMACION, etc.).

Características principales:

  • La aplicación no llama a una función de generación de recibos
  • El contenido del recibo se deriva del resultado de la transacción
  • La impresión se envía a la impresora predeterminada del sistema
  • La aplicación no puede suprimir, personalizar ni reformatear el recibo

Dependiendo de la operación y la configuración, el TPVPC puede imprimir:

  • Recibo del cliente
  • Recibo del comercio
  • Ambos recibos

Paso 2: Datos del recibo en la respuesta XML

Incluso cuando la impresión es automática, la respuesta XML devuelta por Get Central puede incluir elementos relacionados con el recibo que se pueden utilizar para:

  • Visualización en pantalla
  • Almacenamiento para fines de auditoría
  • Lógica de reimpresión (si lo soporta el entorno)

Los elementos comunes relacionados con recibos incluyen:

Elemento de DatosEtiqueta XMLDescripción
Líneas del recibo<linea>Líneas formateadas individuales del recibo
Recibo solo para el cliente<ReciboSoloCliente>Indica flujo de recibo solo para el cliente
Número de tarjeta enmascarado<tarjetaClienteRecibo>PAN enmascarado adecuado para impresión
Identificador del terminal<terminal>Terminal que procesó la operación
Fecha y hora<fechaOperacion>Timestamp de la operación

La presencia de etiquetas relacionadas con recibos depende del tipo de operación y del comportamiento del terminal.

Paso 3: Construir el recibo con fnDllGenerateReceipt

TPVPC Implantado genera los recibos de comercio y de cliente desde la propia biblioteca. La función devuelve un código de resultado entero; cuando tiene éxito, base64Receipt contiene el PDF codificado en base64, que decodificas para obtener el fichero PDF correctamente formateado que se imprimirá o se mostrará.

Firma de la función:

int fnDllGenerateReceipt(LPCTSTR cXMLResp, LPTSTR base64Receipt, int iTamMaxbase64Receipt, LPCTSTR nombreComercio, bool bIsClient);

ParámetroTipoDescripción
cXMLRespStringXML que contiene los datos necesarios para la generación del recibo. Debe ser un XML devuelto por una de las funciones de operación.
base64ReceiptBufferUna vez terminada la llamada, contiene el recibo en formato PDF en base64.
iTamMaxbase64ReceiptIntegerTamaño del parámetro base64Receipt.
nombreComercioStringNombre del comercio que se pondrá en el recibo.
bIsClientBooleantrue si el recibo es para el cliente, false si es para el comercio.

Valores de retorno:

CódigoSignificado
0Recibo generado correctamente. base64Receipt contiene el PDF en base64.
-1XML de entrada o tamaño de base64Receipt no válido.
-2Error al analizar el XML, o error al generar el recibo.
StringBuilder receipt = new StringBuilder(65536);

int result = fnDllGenerateReceipt(
    xmlResponse.ToString(),   // cXMLResp — returned by the operation
    receipt,                  // base64Receipt
    receipt.Capacity,         // iTamMaxbase64Receipt
    "MY STORE",               // nombreComercio
    true                      // bIsClient — cardholder copy
);

if (result == 0)
{
    byte[] pdf = Convert.FromBase64String(receipt.ToString());
}

Llámala dos veces para obtener las dos copias: una con bIsClient en true y otra en false.

Regla de seguridad: El PAN completo, el CVV, el PIN o los datos criptográficos nunca deben imprimirse ni almacenarse. Solo pueden utilizarse los valores enmascarados devueltos por el TPVPC.

Paso 4: Cumplimiento y retención

Independientemente de la estrategia de recibos:

  • Los recibos solo deben emitirse una vez que la transacción se haya autorizado
  • Los recibos almacenados deben coincidir con el resultado final de la transacción
  • Las políticas de retención deben seguir las normativas fiscales y contables locales