Notification
Instructions for the notification process using POST
A REST service needs to be developed for consumption by Payvalida, as it serves as the communication channel for the notification process.
The notification URL is configured within our merchant module (Spanish), specifically in the account profile. You can find the detailed steps to follow here (Spanish).
When you register an order, the order its created with a PENDING (PENDIENTE) state. The order can change state depending on certain scenarios:
Payment is received -> Changes from PENDING (PENDIENTE) to APPROVED (APROBADA) and its notified with an approved status.
The order expires because it wasn't paid before the expiration date -> Changes from PENDING (PENDIENTE) to EXPIRED (VENCIDA) and its notified with a cancelled status.
The commerce eliminates the order (Using the API) -> Changes from PENDING (PENDIENTE) to CANCELLED (CANCELADA), doesn't notify.
The customer asks for a refund of the payment -> Changes from APPROVED (APROBADA) to NULLIFIED (ANULADA) and its notified with a cancelled status.
The commerce asks for a refund of the payment -> Changes from APPROVED (APROBADA) to NULLIFIED (ANULADA), doesn't notify.
Name
Parameter
pv_po_id
Order ID in Payvalida
po_id
Order ID in the commerce
status
Order status
pv_checksum
Checksum encoded in SHA256(po_id + status + NOTIFICATION_HASH)
amount
Order amount
iso_currency
Currency of the order
pv_payment
Payment method of the order
The system automatically notifies when the order changes its status, but its posible to send multiple notifications of the same order. It is responsibility of the commerce to avoid delivering the acquired product more than once in case of multiple notifications.
The system registers the response that got on the notification process, it is advised to send an adequate response according to the process, for example, OK in a successful case and ERROR on an unsuccessful one, it is also recommended to attach a brief description with the response, for example: "OK. Payment registered", "ERROR. Order not recognized"
Example
Última actualización