Firmar los datos de la petición (Ds_Signature)

 

Para calcular la firma es necesario utilizar una clave específica para cada terminal. Se puede obtener la clave accediendo al Módulo de Administración, opción Consulta datos de Comercio, en el apartado “Ver clave”, tal y como se muestra en la siguiente imagen:

 

Ver clave

 

 

Una vez se ha generado el elemento con los datos de la petición de pago (<DATOSENTRADA>) y la clave específica del terminal se debe calcular la firma siguiendo los siguientes pasos:

  1. Se genera una clave específica por operación. Para obtener la clave derivada a utilizar en una operación se debe realizar un cifrado 3DES entre la clave del comercio, la cual debe ser previamente decodificada en BASE 64, y el valor del número de pedido de la operación (DS_MERCHANT_ORDER).
  2. Se calcula el HMAC SHA256 del elemento <DATOSENTRADA>.
  3. El resultado obtenido se codifica en BASE 64, y el resultado de la codificación será el valor del elemento <DS_SIGNATURE>, tal y como se puede observar en el ejemplo de formulario mostrado en el apartado Mensaje de petición de pago WS.