Comparar firmas
Para garantizar la integridad de la respuesta, debe comparar el valor de la firma contenida en la IPN con el valor calculado en el paso anterior.
No se debe comparar la firma de la IPN con la firma que transmitió en su solicitud de pago.
Si las firmas coinciden,
- luego puede considerar la respuesta como segura y proceder como resultado del análisis.
- de lo contrario, el script lanzará una excepción y advertirá al vendedor de la anomalía.
Ejemplo PHP:
if ($_POST['signature'] == $sign){ //Processing data }else{ throw new Exception('An error occurred while computing the signature'); }
Las firmas no coinciden en el caso:
- error de implementación (error en su cálculo, problema de codificación UTF-8, etc.),
- un error en el valor de la clave utilizada o en el campo vads_ctx_mode (un problema frecuente al entrar en producción),
- intento de corromper los datos.