Comment on page
Notificación
Este es el proceso de notificación que utiliza payvalida para notificar el pago o la expiración de una orden creada.
Se debe construir un servicio REST para ser consumido por Payvalida. A través de este servicio se hace el proceso de notificación.
La URL de notificación se configura en nuestro módulo de comercios, en el perfil de cuenta. Puedes encontrar los pasos a seguir aquí.
Al momento de registrar una orden, ésta se crea en estado PENDIENTE. La orden puede cambiar de estado por diversas razones:
- 1.Se ha recibido el pago correspondiente -> Cambia de PENDIENTE a APROBADA y se notifica con estatus approved.
- 2.No se ha recibido el pago correspondiente antes de la fecha de vencimiento -> Cambia de PENDIENTE a VENCIDA y se notifica con estatus cancelled.
- 3.El comercio elimina la orden (usando el API) -> Cambia de PENDIENTE a CANCELADA. No se notifica
- 4.El cliente realiza un reclamo de devolución del pago realizado -> Cambia de APROBADA a ANULADA y se notifica con estatus cancelled.
- 5.El comercio solicita devolución del pago de un cliente -> Cambia de APROBADA a ANULADA, no se notifica.
El sistema notifica de forma automática en el momento del cambio de estado de la orden, pero es posible que exista más de una notificación de la misma orden.
Es responsabilidad del comercio evitar entregar mas de una vez el producto adquirido por el cliente en caso de que haya más de una notificación.

Esta notificación se realizara a la URL proporcionada por el comercio.
Request (Realiza Payvalida)
Request (ejemplo)
Respuesta (Esperada)
Cabeceras
Campo | tipo | Descripción |
pv_po_id | int | Identificación de la orden de Payvalida |
po_id | string | Identificación de la orden del comercio |
status | string | Estado de la orden. Puede ser approved o cancelled. |
pv_checksum | string | Cadena de comprobación calculada con SHA256(po_id + status + NOTIFICATION_HASH) |
amount | string | Monto de la orden |
iso_currency | string | Moneda con la que se registra la orden |
pv_payment | string | Medio de pago con el que se registra ó se aprueba la orden |
curl --location --request POST 'https://url-comercio.com/notificacion/payvalida' \
--header 'Content-Type: application/json' \
--data-raw '{
"pv_po_id":1934480,
"po_id":"999999991",
"status":"approved",
"pv_checksum":"0C08309AE28D15E8D337344E88668E2047947F653B126B7F62B0EACC4B1A30FD680DBE25BD8B38413032A219B86BDAE52D9554D45A892CA4B5C5103597876EAD",
"amount":"10500.0",
"iso_currency":"COP",
"pv_payment":"PSE"
}'
//Para este caso se puede responder en el body con texto claro y el mensaje
OK
//Adicionalmente se puede responder en el body una estructura json
{"status":"OK"}
Cabecera | Valor |
Content-Type | application/json |
De lado del comercio por motivos de seguridad se recomienda hacer la construcción del pv_checksum con la credencial NOTIFICATION_HASH entregada en el registro. Para validar que sea payvalida la que realiza la notificación al compararlas.
Cuando se notifica una orden aprobada, el valor del campo pv_payment corresponde al medio de pago por el cual se paga la orden.
Cuando se notifica una orden vencida, el valor del campo pv_payment corresponde al medio de pago indicado al momento de registrar la orden, en caso de no especificar el medio de pago, este campo no se envía en la petición.
El sistema registra la respuesta obtenida al momento de la notificación, por ello es recomendable enviar como respuesta un texto adecuado al proceso de notificación, por ejemplo, OK en caso afirmativo y ERROR en caso contrario, también se recomienda acompañar la respuesta de una breve descripción, como por ejemplo: “OK. Pago registrado”, “ERROR. Orden no reconocida”.
Última actualización 4mo ago