• Francia
Back Office Vendedor
asistencia
FAQcontacte el soporte tecnico
Buscar
Categoria
Tags
Perú
Perú
Página principal
Casos de uso
Crear un pago
Crear un pago en cuotas
Crear un pago por token
Crear un enlace de pago
Crear una suscripción
Gestione sus suscripciones
Gestione sus transacciones
Analizar los diarios
Docs API
Formulario incrustado
API REST
API REST PCI-DSS
Formulario en redirección
Pago móvil
Intercambio de ficheros
Ejemplo de código
Módulos de pago
Guías
Back Office Vendedor
Guías funcionales

Calcular la firma de la IPN

La firma se calcula de acuerdo con la misma lógica utilizada al solicitar el pago.

 Los datos transmitidos por la plataforma de pago están codificados en UTF-8. Cualquier alteración de los datos recibidos dará lugar a un cálculo de firma errónea.

Debe calcular la firma con los campos recibidos en la notificación y no con los que transmitió en la solicitud de pago.

  1. Considere todos los campos cuyos nombres comienzan con vads_.
  2. Ordene estos campos alfabéticamente.
  3. Concatene los valores de estos campos separándolos con el carácter “+".
  4. Concatene el resultado con la clave de prueba o de producción separándolos con el carácter "+".
  5. Calcule y codifique en formato Base64 la firma usando el algoritmo HMAC-SHA-256 con los siguientes parámetros:
    • la función hash SHA-256,
    • la clave de prueba o de producción (según el valor del campovads_ctx_mode) como clave compartida,
    • el resultado del paso anterior como mensaje a autenticar.
Ejemplos en PHP:
función getSignature ($params,$key)
{
    /**
     * Función que calcula la firma.
     * $ params: matriz que contiene los campos que se enviarán en la IPN.
     * $key : clave de TEST o PRODUCTION
     */
    //Inicialización de la variable que contendrá el string a cifrar
    $contenu_signature = "";
    //Ordenar los campos alfabéticamente
    ksort($params);
    foreach($params as $nom=>$valeur){
        //Recuperación de los campos vads_
        if(substr($nom,0,5)=='vads_'){
            //Concatenación con el separador  "+"
            $contenu_signature .= $valeur."+";
         }
    }
    //Añadir la clave al final del string
    $contenu_signature .= $key;
    //Codificación base64 del string cifrada con el algoritmo HMAC-SHA-256
    $sign = base64_encode(hash_hmac('sha256',$contenu_signature, $key, true));
    return$sign;
 }
© 2025 Todos los derechos reservados de Izipay
25.17-1.11