Getnet DocsGetnet Docs

Crear un pago

Esta guía explica cómo procesar una transacción estándar de PAGO (venta) utilizando Get Central. El pago realiza la autorización y la captura en una sola operación y representa el flujo más común para entornos de Punto de Venta (POS) atendidos.

Esta guía se aplica a TpvpcImplantado.

TpvpcImplantado expone la misma biblioteca nativa a través de C# (DLL), Java (JAR) y JavaScript (Servicio Local). Las diferencias entre plataformas afectan solo a cómo se invoca la función, no a los parámetros, la lógica de negocio ni la validación de la respuesta.

Requisitos

Antes de comenzar, asegúrate de cumplir con los siguientes requisitos previos:

  • Get Central (TPVPC) instalado y disponible

    • Biblioteca nativa (DLL / JAR), o
    • Servicio Local (para integraciones JavaScript)
  • Credenciales del comercio proporcionadas por la entidad:

    • cComercio (número de comercio)
    • cTerminal (número de terminal)
    • cClaveFirma (clave de firma)
  • PIN pad físico conectado a la misma máquina que el TPVPC

  • Inicialización exitosa a través de fnDllIniTpvpcLatente

El PIN pad y el TPVPC deben ejecutarse en la misma máquina. No se soportan escenarios distribuidos ni remotos.

Proceso de pago

El pago consta de los siguientes pasos lógicos:

  1. Inicializar la comunicación con Get Central (una vez por ciclo de vida de la aplicación)
  2. Ejecutar una operación PAGO utilizando el PIN pad
  3. Analizar la respuesta XML para determinar si la transacción fue autorizada

Solo la respuesta XML determina el resultado financiero de la transacción.

Paso 1: Ejecutar una operación PAGO

Para realizar una venta con lectura de tarjeta, invoca la función:

  • fnDllOperPinPad

Esta función maneja la lectura de la tarjeta, la interacción con el cliente y la comunicación con el host.

Se requieren los siguientes parámetros:

ParámetroTipoRequeridoDescripción
cImporteStringSíImporte de la transacción en formato XXXXXXXXX.XX (por ejemplo, 25.90).
cFacturaStringSíReferencia de compra. Este valor lo puede especificar el comercio para identificar la transacción.
cTipoOperStringSíTipo de operación. Debe establecerse en PAGO.
cXMLRespBufferSíBuffer de salida que recibirá la respuesta XML.
iTamMaxRespIntegerSíTamaño máximo del buffer de respuesta. Valor mínimo recomendado: 8192.

Ejemplo en C#:

StringBuilder xmlResponse = new StringBuilder(8192);

int result = fnDllOperPinPad(
    "25.90",       // cImporte
    "ORD-2023-001",// cFactura
    "PAGO",        // cTipoOper
    xmlResponse,
    xmlResponse.Capacity
);

Cuando se llama a la función:

  • El PIN pad solicita la interacción al titular de la tarjeta
  • La transacción se procesa
  • La respuesta XML se escribe en cXMLResp

Un valor de retorno de 0 solo confirma que el proceso se completó correctamente.

Paso 2: Validar la respuesta XML

Tras la ejecución, el TPVPC devuelve un documento XML que describe el resultado de la transacción. Este XML es la única fuente autorizada para determinar si el pago fue aprobado.

Una transacción debe considerarse AUTORIZADA solo si la respuesta XML contiene ambos elementos:

<estado>F</estado>
<resultado>Autorizada</resultado>

Si falta alguno de los elementos o contiene un valor diferente, la transacción debe tratarse como DENEGADA, incluso si la función devolvió 0.

Este es un ejemplo de una respuesta autorizada:

<resultadoOperacion>
  <tipoPago>PAGO</tipoPago>
  <importe>25.90</importe>
  <moneda>978</moneda>
  <pedido>ORD-2023-001</pedido>
  <estado>F</estado>
  <resultado>Autorizada</resultado>
  <codigoRespuesta>0000</codigoRespuesta>
</resultadoOperacion>

Próximos pasos

Después de completar una operación PAGO exitosa, puedes continuar con implementaciones adicionales: