> For the complete documentation index, see [llms.txt](https://docs.wompi.sv/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.wompi.sv/redirect-url/validar-parametros-url-redirect.md).

# 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;
        }
```
