> For the complete documentation index, see [llms.txt](https://aplazo.gitbook.io/aplazo-integrations/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://aplazo.gitbook.io/aplazo-integrations/espanol/referencia-de-api/webhook-de-confirmacion.md).

# Webhook de Confirmación

{% hint style="warning" %}
⚠️ Importante: Los webhooks solo se envían cuando el pago es confirmado (status: Activo). NO existen eventos de webhook para pagos rechazados, abandonados o declinados. Para detectar un préstamo no confirmado, consulta `GET /v1/loan/status` desde tu backend.
{% endhint %}

## Sobre los Webhooks

Por cada petición de pago que envíes, deberás proporcionar a Aplazo la URL donde deseas recibir las notificaciones de webhook sobre ese pago.

Tan pronto como el usuario complete el primer pago, recibirás una petición POST con los siguientes datos:

{% code collapsedlinecount="10" %}

```json
{
  "status": "Activo",
  "loanId": 155789,
  "cartId": "cart-123-abc",
  "merchantId": 1234
}
```

{% endcode %}

{% hint style="warning" %}
Deberás responder con un estado HTTP 200 para confirmar la exitosa recepción de la notificación de Aplazo.
{% endhint %}

### **Campos**

* **status** `str`&#x20;
  * Activo: Indica que el pago está activo, lo que significa que el usuario ha hecho el primer pago (estado `OUTSTANDING`).
* **loanId** `int` Identificador del pago en el sistema de Aplazo.
* **cartId** `str` Identificador proporcionado por el comercio durante la [solicitud de pago](/aplazo-integrations/espanol/referencia-de-api/in-store-api/crea-un-pago.md), utilizado para asociar el pago en tu propio sistema.
* **merchantId** `int` ID asignado por Aplazo a tu cuenta de comercio.<br>

El campo `status` que recibes en el *webhook* está relacionado con el estado que obtienes al enviar una [solicitud de consulta](/aplazo-integrations/espanol/referencia-de-api/in-store-api/consulta-el-estado-de-un-pago.md) a la API.

| Estado en Webhook | GET /api/pos/loan/\<cartId> |
| ----------------- | --------------------------- |
| `Activo`          | `ACTIVE`                    |

## Seguridad

Aplazo ofrece un par de opciones para que el comercio pueda verificar y proteger las notificaciones que reciben de Aplazo.

### **Lista Blanca de IPs**

* Aplazo puede compartir sus direcciones IP estáticas.
* Puedes configurar tu servidor para aceptar solicitudes únicamente de estas direcciones IP, evitando que sistemas no autorizados envíen solicitudes.

### Cabecera de Autorización

* Aplazo puede incluir un token para autenticarse en las notificaciones que envía.
* Este token puede ser `Basic` o `Bearer`.
* En tu servidor, valida el token entrante contra el esperado. Las solicitudes sin un token válido deben ser rechazadas con un HTTP 400.

Ambos métodos son opcionales.
