Librería .NET

 

A continuación se presentan los pasos que debe seguir un comercio para la utilización de la librería JAVA proporcionada por Banco Sabadell:

 

1. Importar la librería RedsysAPI y Newronsoft.Json en su proyecto.

 

2. Capturar los parámetros de la notificación on-line:

 

//Creación del objeto 

RedsysAPI  r = new RedsysAPI();

// Obtener la variable Ds_SignatureVersion vía POST 

if (Request.Form[“Ds_SignatureVersion”] != null) 
{ 
version = Request.Form[“Ds_SignatureVersion”]; 
} 

// Obtener la variable Ds_MerchantParameters vía POST 

if (Request.Form[“Ds_MerchantParameters”] != null) 
{ 
parms = Request.Form[“Ds_MerchantParame­ters”]; 
} 

// Obtener la variable Ds_Signature vía POST 

if (Request.Form[“Ds_Signature”] != null) 
{ 
firmaRecibida = Request.Form[“Ds_Signature”]; 
}

 

3. Validar el parámetro Ds_Signature. Para lle­var a cabo la validación de este parámetro se debe calcular la firma y compararla con el parámetro Ds_Signature capturado. Para ello se debe llamar a la función de la librería “createMerchantSignatureNotif()” con la clave de comercio facilitada y el parámetro Ds_MerchantParameters capturado, tal y como se muestra a continuación:

 

string clave = “sq7HjrUOBfKmC576ILgskD5srU870gJ7”;
string notif = r.createMerchantSignatureNotif(clave, data);

 

Una vez hecho esto, ya se puede validar si el valor de la firma enviada coincide con el valor de la firma calculada, tal y como se muestra a continuación:

 

if (notif.Equals(firmaRecibida) && notif != “”)
{
//FIRMA OK. Realizar tareas de servidor
}
else
{
//FIRMA KO. Error, firma inválida.
}

 

Una vez se ha realizado la llamada a la función “createMerchantSignatureNotif()”, se puede obtener el valor de cualquier parámetro que sea susceptible de incluirse en la notificación on-line, tal y como se muestra en el apartado Respuesta online. Para llevar a cabo la obtención del valor de un parámetro se debe llamar a la función “getParameter()” de la librería con el nombre de parámetro, tal y como se muestra a continuación para obtener el código de respuesta:

 

codigoRespuesta = r.GetParameter(“Ds_Response”);