Empiece aquí |
Configuración |
WSPG |
APIPG |
Webhooks |
Esquemas |
Ejemplo |
Descargas |
SandBox |
Guía General de Webhooks |
Empiece aquí |
Configuración |
WSPG |
APIPG |
Webhooks |
Esquemas |
Ejemplo |
Descargas |
SandBox |
Esta guía cubre los aspectos principales para la comprensión, configuración y utilización de las notificaciones vía Webhooks.
Los Webhooks son callbacks HTTP definidos por el usuario, que reciben eventos para los tipos de eventos a los que están suscritos. Los Webhooks son asíncronos, el orden no esta garantizado y la idempotencia puede conducir al mismo resultado al ser enviado más de una vez. La configuración de Webhooks incluye: habilitar y deshabilitar.
Los eventos se clasifican en tipos de eventos. Los eventos pueden ser causados por cambios en el estado de un recurso, como cuando un pago cambia de estado de registrado para completado. Cuando se produce un evento, Pagadito notifica a través de una petición POST HTTP en el Webhook registrado. El POST contiene los detalles del evento y el recurso completo, incluyendo el tipo de evento que causó el evento.
Los tipos de eventos son los diferentes disparadores que suceden en una cuenta de Pagadito Comercio, como un pago que es completado.
Para utilizar Webhooks en Sandbox o en ambiente de producción, haga los siguiente:
Una vez guardado aparecerá un mensaje de Webhook configurado con éxito y podrá ver la URL de su Webhook.
Los tipos de eventos son los diferentes disparadores que suceden en una cuenta de Pagadito Comercio, como un pago completado.
Los tipos de eventos soportados actualmente son los siguientes:
Los eventos son notificaciones que se envían a la URL del Webhook para disparadores específicos en la cuenta Pagadito Comercio, como un pago completado.
Cuando un evento ocurre, Pagadito envía la infomación del evento codificada en formato JSON utilizando un POST HTTP hacia la aplicación en la URL que usted especifico. Si la aplicación no está disponible o toma demasiado tiempo para responder (sucede un timeout), Pagadito cancela la petición y reintenta 20 veces durante 3 días.
El parámetro event_type en el mensaje indica el disparador del evento.
Cada uno de los eventos enviados a las aplicaciones son firmados.
Ya que teóricamente cualquiera podría enviar un POST HTTP a su aplicación, es importante verificar que:
Por lo tanto, los eventos Webhook contendrán una cabecera que contiene una firma del mensaje. El destinatario del evento Webhook puede opcionalmente validar esa firma.
Los eventos son firmados y entregados como un mensaje por HTTP. Las siguientes cabeceras se utilizan para proporcionar información para la validación de la firma.
La firma se genera mediante la concatenación de cinco partes diferentes con | (barra vertical) siendo el separador entre las partes. Los detalles de las partes individuales son los siguientes:
Así, la cadena de entrada para validar la firma tendría la siguiente forma: IdNotificacion|TimestampNotificacion|IdEvento|CRC32|WSK
El algoritmo de autenticación especificado en PAGADITO-AUTH-ALGO utiliza un algoritmo de firma asimétrica. Esto permite a Pagadito utilizar una llave privada para crear la firma en PAGADITO-SIGNATURE, mientras que le permite a usted utilizar una llave pública contenida en el certificado cuya ruta se define en PAGADITO-CERT-URL para verificar el evento Webhook.
El siguiente código PHP combina las cabeceras y cadena de entrada para realizar la verificación.
Cuando una aplicación recibe el evento, debe responder con un código de estado HTTP de nivel 200. Si se responde con cualquier otro código de respuesta, Pagadito seguirá intentando entregar el evento de nuevo 20 veces en el transcurso de 3 días.