Comparer les signatures
Pour s’assurer de l’intégrité de la réponse, vous devez comparer la signature contenue dans l'IPN avec la valeur calculée à l'étape précédente.
Il ne faut
pas comparer la signature de l'IPN avec la signature que vous avez transmis dans
votre demande de paiement.
Si les signatures correspondent,
- alors vous pouvez considérer la réponse comme sûre et procéder à la suite de l’analyse.
- sinon, le script devra lever une exception et avertir le marchand de l'anomalie.
Exemple
PHP:
if ($_POST['signature'] == $sign){ //Processing data }else{ throw new Exception('An error occurred while computing the signature'); }
Les signatures ne correspondent pas en cas :
- d'erreur d'implémentation (erreur dans votre calcul, problème d’encodage UTF-8, etc.),
- d'erreur dans la valeur de la clé utilisée ou dans celle du champ vads_ctx_mode (problème fréquent lors du passage en production),
- de tentative de corruption des données.