A continuación se presentan los pasos que debe seguir un comercio para la utilización de la librería PHP proporcionada por Banco Sabadell:
1. Importar el fichero principal de la librería, tal y como se muestra a continuación:
include(“./apiRedsys.php”);
El comercio debe decidir si la importación desea hacerla con la función “include” o “required”, según los desarrollos realizados.
2. Definir un objeto de la clase principal de la librería, tal y como se muestra a continuación:
$miObj = new RedsysAPI;
3. Capturar los parámetros de la notificación on-line:
$version = $_POST[“Ds_SignatureVersion”];$params = $_POST[“Ds_MerchantParameters”];$firmaRecibida = $_POST[“Ds_Signature”];
4. Validar el parámetro Ds_Signature. Para llevar 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:
$clave = ‘sq7HjrUOBfKmC576ILgskD5srU870gJ7’; $firmaCalculada = $miObj->createMerchantSignatureNotif($clave,$params);
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 ($firmaCalculada === $firmaRecibida) { //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:
$codigoResp = $miObj->getParameter(“Ds_Response”);