Notificación
Al integrar nuestra pasarela de pagos y configurar adecuadamente la gestión de notificaciones, los comerciantes pueden ofrecer a sus clientes una experiencia de compra sin contratiempos y mantener un control preciso sobre el estado de las transacciones financieras.
La notificación del resultado de la transacción se realiza de manera asíncrona para garantizar una respuesta rápida y eficiente.
El comerciante tendrá las siguientes opciones para saber el estado de una trandacción:
- Leyendo la respuesta que nuestras bibliotecas regresarán después del procesado de la transacción.
- Haciendo una petición a nuestro endpoint /api/v1/status
- Implementando su propio endpoint para poder recibir el resultado de la transacción.
Para el tercer caso, el comercio debe implementar una lógica de manejo de notificaciones asíncronas para procesar la información tan pronto como sea recibida, el cual se detalla a continuación.
Ejemplo de notificación:
El siguiente ejemplo será una petición que nuestro sistema hará y mandará el resultado de la transacción.
Method: post
URL: http://{environment-domain}/payment-notification
Encabezados HTTP: Content-Type: application/json
{
"order": {
"id": "5c51bebd-5b21-4ef3-b980-d41eb0b83568",
"merchantOrderId": "9a6ecf36-8265-11ee-b962-0242ac120002",
"amount": "100.00",
"currency": "484"
},
"payload": {
"responseCode": "00",
"responseDescription": "Approved or completed successfully (if balances are available)",
"authorizationNumber": "280188",
"referenceNumber": "000027389440",
"status": "approved"
},
"card": {
"bin": "411111",
"last4Numbers": "1111"
},
"isSuccess": true,
"hash": "cda557c33bdd28888a4ac066884fa2e498000ae934b9a4bebc3ad1fdebe4a095"
}Descripción de campos
| Campo | Descripción |
|---|---|
order | Contiene detalles sobre la orden de compra. |
id | Id único de la transacción asignado por la pasarela de pagos |
merchantOrderId | Identificador único de la orden asignado por el comercio. |
amount | Monto total de la orden. |
currency | Código de moneda según el estándar ISO 4217. |
payload | Contiene información detallada sobre la transacción. |
responseCode | Código de respuesta que indica el resultado de la transacción (en este caso, "00" indica aprobación). |
responseDescription | Descripción asociada al código de respuesta. |
authorizationNumber | Número de autorización de la transacción. |
referenceNumber | Número de referencia asociado a la transacción. |
status | Estado de la transacción, en este caso, "approved" indica que la transacción ha sido completada con éxito. |
card | Información relacionada con la carta de pago. |
bin | Primeros 6 dígitos de la tarjeta. |
last4Numbers | Últimos cuatro dígitos de la tarjeta. |
isSuccess | Indica si la petición se pudo completar satisfactoriamente. |
errors | Una lista de errores que ocurrieron en la petición. |
hash | Se usa para agregar una capa de seguridad y asegurar que el mensaje proviene de pasarela de pagos. |
Calculo de hash
var hash = sha256({id}|{payload.responseCode}|{payload.authorizationNumber}|{payload.referenceNumber}|{isSuccess});
//Evaluando la notificación de ejemplo
var hash = sha256(5c51bebd-5b21-4ef3-b980-d41eb0b83568|00|280188|000027389440|true);
//resultado hash de ejemplo cda557c33bdd28888a4ac066884fa2e498000ae934b9a4bebc3ad1fdebe4a095
Notas importantesEs crucial validar el resultado de todas las notificaciones a través del hash mediante el proceso mencionado con el algoritmo SHA-256. Esto garantiza de manera segura que la fuente de la notificación provenga exclusivamente de nuestros servidores seguros.
Updated 3 months ago
