# Recibir eventos de webhook

MONEI notifica a tu servidor cuando ocurre algo con un pago, una devolución o una suscripción — para que puedas completar pedidos, actualizar tu base de datos o enviar recibos sin tener que consultar continuamente. Hay dos formas de recibir estas notificaciones.

<!-- -->

## Webhooks de cuenta[​](#account-webhooks "Enlace directo al Webhooks de cuenta")

Los webhooks de cuenta envían **todos** los eventos a los que te suscribas, de toda tu actividad. Configúralos en [Panel → Ajustes → Webhooks](https://dashboard.monei.com/settings/webhooks):

1. Añade una **URL de destino** del webhook — una URL `https://` en tu servidor.
2. Selecciona los **tipos de evento** que quieres recibir.
3. Actívalo.

Puedes añadir más de un destino — por ejemplo, uno para pagos y otro para suscripciones.

Cada entrega es un **sobre de evento** en JSON:

```
{

  "id": "evt_...",

  "type": "charge.succeeded",

  "object": {"id": "...", "status": "SUCCEEDED"}

}
```

Lee `type` para saber qué ha ocurrido, y `object` para obtener el recurso afectado (un pago, una devolución o una suscripción).

## Callback de pago (`callbackUrl`)[​](#payment-callback "Enlace directo al payment-callback")

Al [crear un pago](https://docs.monei.com/es/es/apis/rest/payments-create/.md), puedes establecer un **`callbackUrl`**. MONEI envía entonces el **objeto Payment directamente** (no un sobre) a esa URL cuando el pago alcanza un estado final — incluso si el cliente cierra el navegador durante la redirección. Úsalo cuando solo te interese el resultado de un pago concreto.

Consulta [Verificar firma](https://docs.monei.com/es/es/guides/verify-signature/.md) para ver ejemplos listos para usar en Node, PHP y Python que gestionan el callback.

## Tipos de evento[​](#event-types "Enlace directo al Tipos de evento")

Un **charge** es un pago, así que los eventos `charge.*` reflejan el ciclo de vida del pago.

| Grupo               | Eventos                                                                                                                                                                                                                                                                   |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Pagos** (charges) | `charge.succeeded`, `charge.failed`, `charge.pending`, `charge.pending_processing`, `charge.authorized`, `charge.captured`, `charge.canceled`, `charge.expired`, `charge.refunded`, `charge.partially_refunded`, `charge.paid_out`, `charge.chargeback`, `charge.updated` |
| **Devoluciones**    | `refund.succeeded`, `refund.failed`, `refund.pending`                                                                                                                                                                                                                     |
| **Suscripciones**   | `subscription.activated`, `subscription.updated`, `subscription.canceled`, `subscription.paused`, `subscription.past_due`, `subscription.trialing`, `subscription.pending`, `subscription.expired`                                                                        |

## Verifica cada solicitud[​](#verify "Enlace directo al Verifica cada solicitud")

Cada webhook y callback incluye una cabecera **`MONEI-Signature`** — una firma HMAC-SHA256 calculada con tu clave de API. Verifica siempre la [firma](https://docs.monei.com/es/es/guides/verify-signature/.md) antes de confiar en la carga útil y responde con un estado `200` para confirmar la recepción.

nota

Si eres socio de [MONEI Connect](https://docs.monei.com/es/es/partners-connect/about/.md), configura los webhooks en el **Partner Dashboard** — consulta [MONEI Connect para desarrolladores](https://docs.monei.com/es/es/monei-connect/.md).
