Parámetros de URL de Redirect
Además de poder saber el resultado de una transacción por medio de los Webhook, también es posible saberlo por medio de la URL de Redirect.
La URL de Redirect es donde el pagador se redirecciona después de hacer un pago, la URL de redirect se puede especificar tanto al crear un enlace de pago como al iniciar una transacción de compra por medio de API.
Aunque se puede saber el resultado de una transacción por medio de la URL de redirect se recomienda usar siempre los Webhook en conjunto con la URL de Redirect, debido a que la entrega de la URL de Redirect depende del navegador del pagador, y el flujo podría fallar por problemas con internet, problemas con el explorador, etc.
Ya que los Webhook se entregan de servidor a servidor y se tiene una lógica de reintentos de entrega es mucho más confiable que la URL de Redirect
Un ejemplo de uso de la URL de Redirect es la página donde el usuario se redirecciona después de hacer el pago, en la que se confirma su pago y se muestra el detalle de su compra.
Parámetros de la URL de Redirect
A continuación se detallan los parámetros que se agregan a la URL de Redirect. Estos parámetros pueden utilizarse para determinar si la transacción fue exitosa o fallida.
Es importante notar que los parámetros varían si la transacción viene de un enlace de pago o de una transacción por API.
Parametro | Tipo Dato | Aplica para | Descripción |
---|---|---|---|
idTransaccion | Cadena de 36 caracteres |
| Es el identificador único de la tracción |
monto | Decimal |
| En formato #####.## (sin separador de miles y con punto para separar los decimales) |
esReal | bool |
| Viene el texto "true" cuando la transacción es real. Viene el texto "false" si es una transacción en un ambiente de prueba, es decir que el aplicativo asociado no es productivo y que no se hizo un cobro real. |
codigoAutorizacion | Cadena de caracteres |
| El código de autorización de la transacción. No debería tener más de 10 caracteres. |
mensaje | Cadena de Caracteres |
| Es de utilidad cuando la transacción fallo ya que allí se explica la razon del fallo, como máximo tendrá 50 caracteres. |
formaPago | enum |
| Pude ser uno de los siguiente valores: * PagoNormal * Puntos * Cuotas * Bitcoin |
esAprobada | bool |
| "true" si la transacción es exitosa. "false" si es fallida |
identificadorEnlaceComercio | cadena |
| Es la cadena de caracteres que se envió en el parámetro "identificadorEnlaceComercio" al crear el enlace de pago |
idEnlace | entero |
| El identificador único del enlace de pago generado internamente por Wompi |
hash | cadena caracteres |
| Hash HMAC para validar que ninguno de los parámetros haya sido modificado en transito. |
Como Determinar si Una Transacción es Exitosa
Opción 1: Consultando datos de Transacción
Es posible invocar el end point del API "/TransaccionCompra/{id}" con el valor del paramero idTransaccion en el "id" de la url del end point del API.
Del objeto retornado por el API validar:
esReal sea "true"
esAprobada sea "true"
Opcionalmente que la propiedad "monto" coincida con lo que se deseaba cobrar
Para la definición completa del API referirse al Swagger. Para entender como autenticarse en el API referirse a la sección de autenticación.
Opción 2: Usar solo los parámetros del URL de Redirect
En el caso de las URL Redirect de API basta con usar los parámetros de redirect para saber si la transacción es exitosa, esto es posible ya que los tres parámetros vienen en la URL:
esReal sea "true"
esAprobada sea "true"
Opcionalmente que la propiedad "monto: coincida con lo que se deseaba cobrar
Importante: Si se usa solo los parámetros de la URL de Redirect, sin consultar el API, para ver si la transacción es exitosa; es indispensable validar que el HASH este correcto. Si esto no se hace es posible que el usuario pagador modifique los parámetros en transito. Por ejemplo , el parámetro "esAprobada" cambiarse de "false" a "true", generando un falso positivo.
Para ver como generar el hash y validarlo referirse a "Validar Parámetros de URL Redirect"
Ejemplos URLs de Redirect
Last updated