Webhook
Los webhooks permiten recibir notificaciones en una URL del comercio cuando se actualiza un pago, se activa una suscripción o se procesa un cargo.
La URL de destino se configura de dos maneras:
| Operación | Configuración |
|---|---|
| Pago creado por API | callback_url en la solicitud de pago. |
| Suscripción creada por API | callback_url en la solicitud de suscripción. |
| Suscripción creada en POS | Webhook del servicio PAT configurado en el Portal Comercio. |
| Cargos PAT y cambios de tarjeta | Webhook del evento correspondiente configurado en el Portal Comercio |
- Pagos creados por API
En en servicio Crear un Objeto Payment, indicar callback_url y return_url, ambas codificadas en Base64.
- callback_url: URL del servidor del comercio que recibirá el webhook.
- return_url: URL a la que se devuelve al usuario al finalizar el proceso.
Cuerpo del webhook:
{ "uuid": "identificador-del-pago"}uuid identifica el pago. La notificación no contiene el resultado: para obtenerlo, consultar el servicio de Recuperar un Objeto Payment.
- Suscripciones creadas por API
En el servicio Crear una Suscripcion, indicar callback_url y return_url, ambas codificadas en Base64.
El webhook notifica el resultado del proceso de inscripción, tanto cuando la suscripción queda activa como cuando falla.
Cuerpo del webhook:
{ "uuid": "identificador-de-la-suscripcion"}Para conocer el estado y los datos de la suscripción, consultar el servicio Recuperar una Suscripcion.
Para este proceso, las suscripciones creadas por API utilizan su propio callback_url. La configuración del Portal Comercio se utiliza para otros eventos, como cargos y cambios de tarjeta.
- Configuración en el Portal Comercio
En la sección Webhooks de la configuración de cuenta:
- Seleccionar Agregar webhook.
- Elegir el servicio PAT.
- Seleccionar el evento.
- Ingresar la URL del servidor que recibirá las notificaciones y guardar.

La URL se ingresa directamente, sin codificar en Base64. Se puede utilizar la misma URL para varios eventos o asignar una URL distinta a cada uno.
Los eventos PAT utilizados por los flujos revisados son:
| Evento | Descripción |
|---|---|
| suscription_activated | Activación de una suscripción. |
| suscription_failed | Inscripción fallida. |
| charge_paid | Cargo pagado. |
| charge_reject | Cargo rechazado. |
| card_change | Cambio exitoso de tarjeta. |
Los nombres conservan la escritura utilizada por la integración, incluyendo suscription.
- Suscripciones creadas en POS
La activación de una suscripción en POS se notifica a la URL configurada para el servicio PAT y el evento suscription_activated.
Cuerpo del webhook:
{ "status": "OK", "code": 200, "suscription": { "uuid": "identificador-de-la-suscripcion" }}status y code pertenecen a la notificación. Para conocer el estado de negocio de la suscripción, consultar la API usando suscription.uuid.
- Cargos de suscripciones PAT
Los eventos charge_paid y charge_reject se envían a las URL configuradas en el Portal Comercio.
Ejemplo del cuerpo con detalle de un cargo pagado:
{ "suscription_uuid": "identificador-de-la-suscripcion", "id": "identificador-del-cargo", "charge_date": "2026-10-09", "amount": 15000, "status": "pagado", "description": "Cuota mensual", "created_at": "2026-10-01 10:00:00", "payment": { "client": { "email": "[cliente@example.com](mailto:cliente@example.com)", "first_name": "Ana", "last_name": "Pérez", "social_id": "", "phone": "" }, "commerce": { "commerce_id": "rut-del-comercio", "name": "Comercio de ejemplo" }, "order": { "uuid": "identificador-del-pago", "status": "pagado", "created_at": "2026-10-09 09:00:00", "card_number": "1234", "authorized_at": "2026-10-09 09:00:02", "auth_code": "123456", "installment_amount": 15000, "installment_number": 1, "payment_type_code": "VN", "amount": 15000, "deposits": \[] } } }- id: identificador del cargo, utilizado para consultar su detalle.
- suscription_uuid: suscripción a la que pertenece.
- status: estado del cargo, por ejemplo pagado o rechazado.
- payment: información del pago asociado. Puede ser null o no estar presente cuando no hay información disponible.
- deposits: detalle de abonos. Puede ser una lista vacía o null, según el flujo y el estado del pago.
- Cambio de tarjeta
El evento card_change notifica que una suscripción cambió su tarjeta correctamente.
Cuerpo del webhook:
{ "uuid": "identificador-de-la-suscripcion"}Consultar la suscripción mediante la API para recuperar la información actualizada.
- Recepción de las notificaciones
El servidor del comercio debe aceptar solicitudes HTTP POST, registrar la notificación y responder rápidamente con HTTP 200.
Los ejemplos muestran el cuerpo de la notificación. Los flujos revisados envían JSON; algunos envíos PAT declaran Content-Type: application/x-www-form-urlencoded, por lo que conviene contemplar esa variante al implementar el receptor.
Se recomienda:
- Utilizar una URL pública con HTTPS.
- Procesar la operación consultando su identificador en la API.
- Contemplar notificaciones repetidas para evitar ejecutar dos veces la misma acción.
- Usar rutas distintas cuando sea necesario diferenciar eventos: varios cuerpos contienen solo uuid y no incluyen el nombre del evento.