Getnet DocsGetnet Docs

Gestionar preautorizaciones y confirmaciones

El flujo de Preautorización te permite reservar fondos en la tarjeta de un cliente (Retención) y capturarlos más tarde (Confirmar). Esto es distinto de una “Venta” (Sale) estándar donde los fondos se capturan inmediatamente.

Este proceso implica dos operaciones de API distintas:

  1. Preautorización (/preautorizacion): El terminal verifica la tarjeta y retiene los fondos.
  2. Confirmación (/confirmacion): Capturas explícitamente los fondos (total o parcialmente) para completar la transacción.

Fase 1: Crear la preautorización

El primer paso es iniciar la retención. Esto es muy similar a una petición de pago estándar, pero utiliza un endpoint diferente.

  • Endpoint: /preautorizacion
  • Método: POST

Paso 1.1: Enviar la petición

Envía el importe que quieres retener. Debes proporcionar una factura (ID de factura) única que servirá como referencia para la futura confirmación.

{
  "info": {
    "comercio": "777888991",
    "terminal": 1,
    "timestamp": "20250428 120000",
    "notificacion": {
      "urlNotificacion": "https://your-server.com/api/webhooks/preauth",
      "correoNotificacion": "[email protected]"
    },
    "datosOperacion": {
      "importe": "100.00",
      "factura": "RES-Hotel-001"
    }
  },
  "signature": "YOUR_CALCULATED_SIGNATURE"
}

Paso 1.2: Recibir la notificación

Al igual que un pago estándar, la interacción con el terminal físico es asíncrona. Recibirás una notificación en tu urlNotificacion.

  • tipoPago: Será PREAUTORIZACION.
  • resultado: Busca Autorizada.
  • Acción: No consideres el dinero como recibido. Considera únicamente que los fondos están “reservados” o “retenidos”.

Fase 2: Confirmar la transacción

Cuando estés listo para cobrar al cliente (p. ej., check-out de un huésped, devolución de un coche de alquiler), debes enviar una petición de confirmación.

Referencias coincidentes: La factura (ID de factura) utilizada en la confirmación debe coincidir con la factura utilizada en la preautorización original. Así es como el sistema enlaza la captura con la retención.

  • Endpoint: /confirmacion
  • Método: POST

Paso 2.1: Enviar la petición de confirmación

Se especifica el importe a capturar.

{
  "info": {
    "comercio": "777888991",
    "terminal": 1,
    "timestamp": "20250429 080000",
    "datosOperacion": {
      "importe": "100.00",
      "factura": "RES-Hotel-001"
    }
  },
  "signature": "YOUR_CALCULATED_SIGNATURE"
}

Paso 2.2: Gestionar la respuesta

A diferencia de la interacción inicial, la Confirmación a menudo se procesa de servidor a servidor (server-to-server) sin requerir que el titular de la tarjeta vuelva a insertar su tarjeta.

Recibirás una notificación confirmando la captura:

  • resultado: Autorizada.

Consideraciones importantes

  • Gestión de errores: Si intentas confirmar una operación que no existe o que ya ha sido confirmada, puedes recibir códigos de error específicos.
    • TPVPC0094: “No es posible realizar más confirmaciones sobre la preautorización original”.

Próximos pasos