Validar Parámetros URL Redirect

La generación del Hash es distinta para la URL de Redirect del API y del enlace de pago. Hay diferencia debido a que los parámetros de cada enlace varían, y el orden con que se coloquen los parámetros para generar el hash causa que se genera un hash distinto.

Los pasos para validar son:

  1. Concatenar los parámetros de interés de la URL de Redirect

  2. Sacar el HMAC con algoritmo SHA256 de la cadena de caracteres resultante del punto 1, utilizando el API Secret de su aplicativo de Wompi como llave del HMAC

  3. Comparar el resultado del punto anterior con el valor del parámetro "hash", si es igual es proque los parámetros no han sido modificados en transito.

Ya que el orden de los parámetros afecta el hash generado a continuación se detalla el orden en que se deben concatenar los parámetros en el paso 1 para cada tipo de URL de Redirect.

Orden de Concatenación de Parametros en URL de Redirect de API

  1. idTransaccion

  2. monto

  3. esReal

  4. formaPago

  5. esAprobada

  6. codigoAutorizacion

  7. mensaje

Orden de Concatenación de Parametros en URL de Redirect de Enlace de Pago

  1. identificadorEnlaceComercio

  2. idTransaccion

  3. idEnlace

  4. monto

Ejemplos

Si desea calcular un hash SHA256 con HMAC en C# puede usar este código:

private static string EncriptarData(string parametrosConcatenados, string secret)
        {
            UTF8Encoding encoding = new UTF8Encoding();

            var hash = new HMACSHA256(encoding.GetBytes(secret));
            byte[] stream = hash.ComputeHash(encoding.GetBytes(parametrosConcatenados));
            string textHash = string.Concat(stream.Select(b => b.ToString("x2")));
            hash.Dispose();
            return textHash;
        }

Last updated