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 debe implementar una lógica de manejo de notificaciones asíncronas para procesar la información tan pronto como sea recibida.
Notas importantes
Es 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.
Ejemplo de notificación:
Method: post
URL: http://{environment-domain}/payment-notification
Encabezados HTTP: Content-Type: application/json
Agregar encabezados de autenticación
{
"id": "5c51bebd-5b21-4ef3-b980-d41eb0b83568",
"order": {
"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": "Paid"
},
"card": {
"bin": "411111",
"termination": "1111"
},
"recurringPayment": {
"token": "2b43f315-b053-4cd2-bff0-14dd2e7da52a"
},
"ThreeDsData": {
"Eci": "05",
"Version": "2.2.0",
"DsTransactionId": "92ba0298-5278-4368-a936-9f8ed7c1ce8f"
},
"isApproved": true,
"isFailure": false,
"errors": null,
"hash": "cda557c33bdd28888a4ac066884fa2e498000ae934b9a4bebc3ad1fdebe4a095"
}
Descripción de campos
Campo | Descripción |
---|---|
id | Id único de la transacción asignado por la pasarela de pagos |
order | Contiene detalles sobre la orden de compra. |
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, "paid" indica que la transacción ha sido completada con éxito. |
recurringPayment | En caso que los datos de tarjeta hayan sido almacenado |
token | Identificador único de la tarjeta para realizar futuros pagos de recurrencia y/o pagos pagos programados. |
card | Información relacionada con la carta de pago. |
bin | Primeros 6 dígitos de la tarjeta. |
termination | Últimos cuatro dígitos de la tarjeta. |
ThreeDsData | En caso que la transacción haya sido autenticada por 3DS se agregan estos datos. |
eci | Indicador de la información de la autenticación. |
version | Versión de la especificación 3DS utilizada en la transacción. |
DsTransactionId | Identificador único de la transacción en el servidor de directorio. |
isApproved | Indica si la transacción fue aprobada. En este ejemplo, es “true”, lo que significa que la transacción fue aprobada. |
isFailure | Indica si la transacción ha fallado. En este ejemplo, es “false”, indicando que la transacción no ha fallado. |
errors | Contiene detalles como número de error y una descripción, si los hubiera. En este caso, es “null”, lo que significa que no se han producido errores en la transacció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}|{isApproved});
//Evaluando la notificación de ejemplo
var hash = sha256(5c51bebd-5b21-4ef3-b980-d41eb0b83568|00|280188|000027389440|true);
//resultado hash de ejemplo cda557c33bdd28888a4ac066884fa2e498000ae934b9a4bebc3ad1fdebe4a095
Notas importantes
Es 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