Getnet DocsGetnet Docs

Referencia de Webhooks

Esta referencia proporciona una visión general del sistema de Webhook de Getnet, incluyendo métodos de autenticación, tipos de eventos disponibles, endpoints de la API y estructuras de payload del Webhook. Para obtener la documentación detallada de los endpoints de la API con esquemas de request/response, parámetros y ejemplos, consulte la documentación de la API Reference.

Getnet envía notificaciones de Webhook como peticiones HTTP POST con payloads JSON. Todas las marcas de tiempo (timestamps) utilizan el formato ISO 8601, y los importes monetarios están en la unidad de divisa más pequeña (céntimos para BRL).

Autenticación

Al crear una suscripción de Webhook, debe especificar cómo debe autenticarse Getnet al enviar peticiones (post) a su endpoint. La Webhook Management API soporta tres métodos de autenticación:

1. Credenciales de Usuario (Basic Auth)

Utilice este método cuando el endpoint de su Webhook valide las peticiones utilizando HTTP Basic Authentication. Getnet incluirá una cabecera Authorization: Basic estándar compuesta por las credenciales que usted proporcione.

Configuración:

{
  "authentication_type": "user_credentials",
  "authentication_data": {
    "user": "your_client_id",
    "password": "your_client_secret"
  }
}

Cuando Getnet envíe Webhooks a su endpoint, incluirá:

Authorization: Basic {base64_encoded_user:password}

2. OAuth 2.0

Utilice este método cuando el endpoint de su Webhook espere Bearer tokens de OAuth 2.0. Getnet ejecutará el flujo completo de client credentials de OAuth 2.0 en su nombre antes de cada entrega de Webhook.

Configuración:

{
  "authentication_type": "oauth",
  "authentication_data": {
    "oauth_url": "https://auth.provider.com/token",
    "client_id": "your_client_id",
    "client_secret": "your_client_secret",
    "credentials_location": "basic_auth_header",
    "token_key_name": "access_token"
  }
}

Campos de configuración:

FieldTypeRequiredDescription
oauth_urlstringSíURL del endpoint de token OAuth
client_idstringSíClient ID de OAuth
client_secretstringSíClient secret de OAuth
credentials_locationstringNoDónde enviar las credenciales: basic_auth_header (por defecto) o body
token_key_namestringNoNombre de la clave en la respuesta del token (por defecto: access_token)

Cuando Getnet envíe Webhooks, realizará lo siguiente:

  1. Solicitar un token a su servidor OAuth utilizando las credenciales proporcionadas
  2. Extraer el token de la respuesta utilizando token_key_name
  3. Incluirlo en la petición del Webhook: Authorization: Bearer {token}

3. Token (Bearer Token)

Utilice este método cuando desee que Getnet utilice un Bearer token obtenido de la Getnet Authentication API. Este token es el mismo que usted utiliza para autenticar peticiones de API a Getnet.

Configuración:

{
  "authentication_type": "token",
  "authentication_data": {
    "token": "your_bearer_token_from_getnet_auth_api"
  }
}

El token se obtiene del endpoint de la Getnet Authentication API (/authentication/oauth2/access_token) utilizando su client_id y client_secret. Este es el mismo token que utiliza para otras peticiones a la API de Getnet. Consulte la documentación de Authentication para obtener detalles sobre cómo obtener tokens del endpoint de autenticación.

Cuando Getnet envíe Webhooks, incluirá:

Authorization: Bearer {token}

Tipos de Eventos

Los Webhooks de Getnet soportan los siguientes tipos de eventos. Cada tipo de evento corresponde a un estado o acción de transacción específica:

Event TypeDescription
APPROVED_TRANSACTIONSLa transacción de pago ha sido aprobada con éxito
REJECTED_TRANSACTIONSLa transacción de pago fue rechazada o denegada
CAPTURED_TRANSACTIONSEl pago preautorizado ha sido capturado
CANCELLED_TRANSACTIONSLa transacción ha sido cancelada
REFUNDED_TRANSACTIONSLa transacción ha sido reembolsada
CARD_UPDATELos detalles de la tarjeta se han actualizado a través del Network Token o Account Updater
CARD_UPDATED_TRANSACTIONSDetalles de la tarjeta actualizados en una transacción a través del Network Token o Account Updater
PENDING_TRANSACTIONSLa transacción está pendiente de procesamiento
PIX_UPDATED_TRANSACTIONSEl estado de la transacción PIX ha sido actualizado
BOLETO_UPDATED_TRANSACTIONSEl estado de la transacción de Boleto ha sido actualizado
BOLETO_PAID_TRANSACTIONSEl Boleto ha sido pagado
PROCESSING_TRANSACTIONSLa transacción está siendo procesada
FAILED_TRANSACTIONSEl procesamiento de la transacción ha fallado
EXPIRED_TRANSACTIONSLa transacción ha expirado
AUTHORIZED_TRANSACTIONSLa transacción ha sido autorizada

Al crear una suscripción de Webhook, usted especifica qué tipo(s) de evento desea recibir. Puede crear múltiples suscripciones para diferentes tipos de eventos o gestionar todos los eventos en un solo endpoint.

Visión General de la Webhook Management API

La Webhook Management API proporciona endpoints para gestionar sus suscripciones de Webhook de forma programática. Para obtener la documentación completa de los endpoints, incluyendo esquemas de request/response, parámetros, códigos de error y ejemplos, consulte la API Reference.

Endpoints Disponibles

EndpointMethodDescription
POST /subscriptionsPOSTCrear una nueva suscripción de Webhook
GET /subscriptions/{event_name}GETRecuperar los detalles de suscripción de Webhook para un evento específico
DELETE /subscriptions/{event_name}DELETEEliminar una suscripción de Webhook
GET /subscriptions/{event_name}/eventsGETListar mensajes de eventos para una suscripción con paginación
PATCH /subscriptions/{event_name}/events/{event_id}PATCHReenviar un mensaje de evento de Webhook específico
GET /subscriptions-eventsGETListar todos los eventos a los que está suscrito actualmente

URL Base

Todos los endpoints de gestión de Webhooks están disponibles en:

https://api.gettech.com/dpm/webhooks/v1

Para obtener información detallada sobre cada endpoint, incluyendo:

  • Esquemas de request y response
  • Parámetros obligatorios y opcionales
  • Query parameters y paginación
  • Respuestas de error y códigos de estado
  • Ejemplos de requests y responses

Consulte la documentación de la API Reference.

Payloads de Eventos de Webhook

Cuando ocurre un evento suscrito, Getnet envía una petición HTTP POST a su callback_url con un payload JSON que contiene los datos del evento. La estructura del payload varía dependiendo del tipo de evento.

APPROVED_TRANSACTIONS

Se envía cuando una transacción de pago ha sido aprobada con éxito.

Ejemplo de Payload:

{
  "idempotency_key": "63c7f8ee-51a6-470d-bb76-ef762b62bfb7",
  "seller_id": "9406df6c-3100-49ba-b4df-d81c1ad8a62b",
  "request_id": "daac03dc-73db-453f-9bea-b1391669d5d3",
  "payment_id": "2c341d28-491b-4cf8-aec7-eeb60136b7a5",
  "order_id": "ORDER-10187383",
  "amount": "11870",
  "currency": "BRL",
  "status": "APPROVED",
  "payment_method": "CREDIT",
  "received_at": "2025-11-13T14:30:00.000Z",
  "transaction_id": "123456789012",
  "original_transaction_id": null,
  "authorized_at": "2025-11-13T14:30:00.000Z",
  "reason_code": "00",
  "reason_message": "TRANSACTION EXECUTED SUCCESSFULLY",
  "acquirer": "GETNET",
  "soft_descriptor": "LOJA*TESTE*COMPRA",
  "brand": "Visa",
  "authorization_code": "123456",
  "acquirer_transaction_id": "987654321",
  "eci": "05",
  "payment_received_timestamp": "2025-11-13T14:30:00.000Z",
  "card_id": "e8ad2ae4-9e3e-4532-998f-1a5a11e56e58",
  "merchant_advice_code": null,
  "additional_data": {}
}

Descripciones de los Campos:

FieldTypeDescription
idempotency_keystringClave de idempotencia utilizada para controlar las peticiones
seller_idstringIdentificación del vendedor (seller)
request_idstringIdentificador de la petición. Único para cada petición
payment_idstringIdentificador del pago
order_idstringCódigo de identificación de la compra utilizado por el e-commerce
amountstringImporte de la transacción
currencystringCódigo de la divisa (ej., “BRL”, “USD”)
statusstringEstado de la transacción (ej., “APPROVED”)
payment_methodstringMétodo de pago utilizado (ej., “CREDIT”, “DEBIT”)
received_atstringMarca de tiempo (timestamp) de cuando se recibió el pago
transaction_idstringIdentificador de la transacción
original_transaction_idstringIdentificador de la transacción original (para reembolsos/cancelaciones)
authorized_atstringMarca de tiempo (timestamp) de cuando se autorizó la transacción
reason_codestringCódigo de retorno del emisor o del sistema de captura de Getnet
reason_messagestringMensaje de retorno del emisor o del sistema de captura de Getnet
acquirerstringNombre del Acquirer
soft_descriptorstringSoft descriptor mostrado en el extracto de la tarjeta
brandstringMarca de la tarjeta (ej., “Visa”, “Mastercard”)
authorization_codestringCódigo de autorización
acquirer_transaction_idstringIdentificador de la transacción en el Acquirer
ecistringIndicador de Comercio Electrónico (Electronic Commerce Indicator)
payment_received_timestampstringMarca de tiempo (timestamp) de recepción del pago
card_idstringIdentificador de la tarjeta guardado en el entorno seguro (vault) (si aplica)
boletoobjectDetalles del pago por boleto (si aplica)
merchant_advice_codestringCódigo de aviso del comercio (merchant advice code) (si aplica)
additional_dataobjectDatos adicionales

REJECTED_TRANSACTIONS

Se envía cuando una transacción de pago ha sido rechazada o denegada.

Ejemplo de Payload:

{
  "idempotency_key": "63c7f8ee-51a6-470d-bb76-ef762b62bfb7",
  "seller_id": "9406df6c-3100-49ba-b4df-d81c1ad8a62b",
  "request_id": "daac03dc-73db-453f-9bea-b1391669d5d3",
  "payment_id": "2c341d28-491b-4cf8-aec7-eeb60136b7a5",
  "order_id": "ORDER-10187383",
  "amount": "11870",
  "currency": "BRL",
  "status": "REJECTED",
  "payment_method": "CREDIT",
  "received_at": "2025-11-13T14:30:00.000Z",
  "transaction_id": "123456789012",
  "original_transaction_id": null,
  "authorized_at": null,
  "reason_code": "51",
  "reason_message": "INSUFFICIENT FUNDS",
  "acquirer": "GETNET",
  "soft_descriptor": "LOJA*TESTE*COMPRA",
  "brand": "Visa",
  "authorization_code": null,
  "acquirer_transaction_id": null,
  "eci": null,
  "payment_received_timestamp": "2025-11-13T14:30:00.000Z",
  "card_id": null,
  "merchant_advice_code": null,
  "additional_data": {}
}

Descripciones de los Campos:

FieldTypeDescription
idempotency_keystringClave de idempotencia utilizada para controlar las peticiones
seller_idstringIdentificación del vendedor (seller)
request_idstringIdentificador de la petición. Único para cada petición
payment_idstringIdentificador del pago
order_idstringCódigo de identificación de la compra utilizado por el e-commerce
amountstringImporte de la transacción
currencystringCódigo de la divisa (ej., “BRL”, “USD”)
statusstringEstado de la transacción (ej., “REJECTED”)
payment_methodstringMétodo de pago utilizado (ej., “CREDIT”, “DEBIT”)
received_atstringMarca de tiempo (timestamp) de cuando se recibió el pago
transaction_idstringIdentificador de la transacción
original_transaction_idstringIdentificador de la transacción original (para reembolsos/cancelaciones)
authorized_atstringMarca de tiempo (timestamp) de cuando se autorizó la transacción (puede ser null)
reason_codestringCódigo de retorno del emisor o del sistema de captura de Getnet
reason_messagestringMensaje de retorno del emisor o del sistema de captura de Getnet
acquirerstringNombre del Acquirer
soft_descriptorstringSoft descriptor mostrado en el extracto de la tarjeta
brandstringMarca de la tarjeta (ej., “Visa”, “Mastercard”)
authorization_codestringCódigo de autorización (puede ser null)
acquirer_transaction_idstringIdentificador de la transacción en el Acquirer (puede ser null)
ecistringIndicador de Comercio Electrónico (puede ser null)
payment_received_timestampstringMarca de tiempo (timestamp) de recepción del pago
card_idstringIdentificador de la tarjeta guardado en el entorno seguro (vault) (si aplica, puede ser null)
boletoobjectDetalles del pago por boleto (si aplica)
merchant_advice_codestringCódigo de aviso del comercio (si aplica, puede ser null)
additional_dataobjectDatos adicionales

REFUNDED_TRANSACTIONS

Se envía cuando una transacción ha sido reembolsada.

Ejemplo de Payload:

{
  "idempotency_key": "63c7f8ee-51a6-470d-bb76-ef762b62bfb7",
  "seller_id": "9406df6c-3100-49ba-b4df-d81c1ad8a62b",
  "request_id": "daac03dc-73db-453f-9bea-b1391669d5d3",
  "payment_id": "2c341d28-491b-4cf8-aec7-eeb60136b7a5",
  "order_id": "ORDER-10187383",
  "amount": 8900,
  "currency": "BRL",
  "status": "REFUNDED",
  "reason_code": "00",
  "reason_message": "TRANSACTION EXECUTED SUCCESSFULLY",
  "canceled_at": "2025-11-13T15:30:00.000Z",
  "custom_key": "20200630-8900"
}

Descripciones de los Campos:

FieldTypeDescription
idempotency_keystringClave de idempotencia, utilizada para controlar las peticiones (1-64 caracteres)
seller_idstringCódigo de identificación del e-commerce (UUID, 36 caracteres)
request_idstringIdentificador de la petición. Único para cada petición (UUID, 36 caracteres)
payment_idstringIdentificador del pago (UUID, 36 caracteres)
order_idstringCódigo de identificación de la compra utilizado por el e-commerce
amountnumberValor de la compra en céntimos
currencystringIdentificación de la divisa (ej., “BRL”)
statusstringEstado de la transacción
reason_codestringCódigo de retorno del emisor o del sistema de captura de Getnet (2 caracteres)
reason_messagestringMensaje de retorno del emisor o del sistema de captura de Getnet
canceled_atstringFecha de cancelación/reembolso (formato ISO 8601)
custom_keystringClave del cliente utilizada para identificar la petición de reembolso (3-32 caracteres)

CANCELLED_TRANSACTIONS

Se envía cuando una transacción ha sido cancelada.

Ejemplo de Payload:

{
  "idempotency_key": "63c7f8ee-51a6-470d-bb76-ef762b62bfb7",
  "seller_id": "9406df6c-3100-49ba-b4df-d81c1ad8a62b",
  "request_id": "daac03dc-73db-453f-9bea-b1391669d5d3",
  "payment_id": "2c341d28-491b-4cf8-aec7-eeb60136b7a5",
  "order_id": "ORDER-10187383",
  "amount": 8900,
  "currency": "BRL",
  "status": "CANCELLED",
  "reason_code": "00",
  "reason_message": "TRANSACTION CANCELLED SUCCESSFULLY",
  "canceled_at": "2025-11-13T15:30:00.000Z",
  "custom_key": "20200630-8900"
}

Descripciones de los Campos:

FieldTypeDescription
idempotency_keystringClave de idempotencia, utilizada para controlar las peticiones (1-64 caracteres)
seller_idstringCódigo de identificación del e-commerce (UUID, 36 caracteres)
request_idstringIdentificador de la petición. Único para cada petición (UUID, 36 caracteres)
payment_idstringIdentificador del pago (UUID, 36 caracteres)
order_idstringCódigo de identificación de la compra utilizado por el e-commerce
amountnumberValor de la compra en céntimos
currencystringIdentificación de la divisa (ej., “BRL”)
statusstringEstado de la transacción
reason_codestringCódigo de retorno del emisor o del sistema de captura de Getnet (2 caracteres)
reason_messagestringMensaje de retorno del emisor o del sistema de captura de Getnet
canceled_atstringFecha de cancelación (formato ISO 8601)
custom_keystringClave del cliente utilizada para identificar la petición de cancelación (3-32 caracteres)

CAPTURED_TRANSACTIONS

Se envía cuando un pago preautorizado ha sido capturado.

Ejemplo de Payload:

{
  "idempotency_key": "63c7f8ee-51a6-470d-bb76-ef762b62bfb7",
  "seller_id": "9406df6c-3100-49ba-b4df-d81c1ad8a62b",
  "request_id": "daac03dc-73db-453f-9bea-b1391669d5d3",
  "payment_id": "2c341d28-491b-4cf8-aec7-eeb60136b7a5",
  "order_id": "ORDER-10187383",
  "amount": 8900,
  "currency": "BRL",
  "status": "CAPTURED",
  "reason_code": "00",
  "reason_message": "TRANSACTION EXECUTED SUCCESSFULLY",
  "captured_at": "2025-11-13T16:00:00.000Z"
}

Descripciones de los Campos:

FieldTypeDescription
idempotency_keystringClave de idempotencia, utilizada para controlar las peticiones (1-64 caracteres)
seller_idstringCódigo de identificación del e-commerce (UUID, 36 caracteres)
request_idstringIdentificador de la petición. Único para cada petición (UUID, 36 caracteres)
payment_idstringIdentificador del pago (UUID, 36 caracteres)
order_idstringCódigo de identificación de la compra utilizado por el e-commerce
amountnumberValor de la compra en céntimos
currencystringIdentificación de la divisa (ej., “BRL”)
statusstringEstado de la transacción
reason_codestringCódigo de retorno del emisor o del sistema de captura de Getnet (2 caracteres)
reason_messagestringMensaje de retorno del emisor o del sistema de captura de Getnet
captured_atstringFecha de captura (formato ISO 8601)

CARD_UPDATE

Se envía cuando los detalles de la tarjeta se actualizan a través de los servicios de Network Token o Account Updater.

Ejemplo de Payload:

{
  "card_id": "e8ad2ae4-9e3e-4532-998f-1a5a11e56e58",
  "last_four_digits": "1212",
  "bin": "121212",
  "expiration_month": 12,
  "expiration_year": 28,
  "brand": "Mastercard",
  "cardholder_name": "JOAO DA SILVA",
  "customer_id": "customer_21081826",
  "number_token": "dfe05208b105578c070f806c80abd3af09e246827d29b866cf4ce16c205849977c9496cbf0d0234f42339937f327747075f68763537b90b31389e01231d4d13c",
  "used_at": "2017-04-19T16:30:30Z",
  "created_at": "2017-04-19T16:30:30Z",
  "updated_at": "2017-04-19T16:30:30Z",
  "status": "active",
  "transaction_id": "123456"
}

Descripciones de los Campos:

FieldTypeDescription
card_idstringIdentificador de la tarjeta guardado en el entorno seguro (máx 36 caracteres)
last_four_digitsstringÚltimos cuatro dígitos de la tarjeta (máx 4 caracteres)
binstringPrimeros seis dígitos de la tarjeta (máx 6 caracteres)
expiration_monthintegerMes de caducidad de la tarjeta de dos dígitos (1-12)
expiration_yearintegerAño de caducidad de la tarjeta de dos dígitos
brandstringMarca de la tarjeta (Mastercard, Visa, Amex, Elo, Hipercard)
cardholder_namestringNombre del comprador impresso en la tarjeta (máx 26 caracteres)
customer_idstringIdentificador del comprador (máx 100 caracteres)
number_tokenstringToken de la tarjeta que se utilizará en las transacciones (máx 128 caracteres)
used_atstringFecha del último uso (formato ISO 8601)
created_atstringFecha de creación (formato ISO 8601)
updated_atstringFecha de actualización (formato ISO 8601)
statusstringEstado de la tarjeta en el entorno seguro (active, blocked, canceled, renewed)
transaction_idstringID de la Transacción de Verificación de la Tarjeta (máx 32 caracteres)

Requisitos de Respuesta

El endpoint de su Webhook debe:

  • Aceptar peticiones HTTP POST
  • Utilizar HTTPS con un certificado SSL válido
  • Responder con el código de estado HTTP 204 (No Content) para confirmar la recepción exitosa
  • Gestionar la autenticación tal como está configurada en su suscripción

Si su endpoint devuelve cualquier código de estado distinto de 204, Getnet considerará que la entrega ha fallado y puede volver a intentar la entrega del Webhook.

Notas Importantes

  1. Idempotencia: Todos los payloads de Webhook incluyen una idempotency_key. Su endpoint debe ser idempotente y gestionar las entregas duplicadas de forma correcta.

  2. Código de Respuesta: El endpoint de su Webhook debe responder con HTTP 204 (No Content) para confirmar la recepción exitosa. Cualquier otro código de estado se considerará un fallo.

  3. Marcas de tiempo (Timestamps): Todas las marcas de tiempo están en formato ISO 8601 (ej., 2025-11-13T14:30:00.000Z).

  4. Importes: Los importes monetarios se representan en la unidad de divisa más pequeña (céntimos para BRL).

  5. Campos Opcionales: Algunos campos pueden ser null u omitirse dependiendo del tipo de transacción y del método de pago.

  6. Lógica de Reintento: Si su endpoint no responde con 204, Getnet volverá a intentar la entrega del Webhook.