Garantir l'intégrité des échanges
L’intégrité des informations échangées est garantie par un échange de signatures alphanumériques entre la plateforme de paiement et le site marchand.
Le dialogue entre les deux parties se fait via des formulaires HTML.
Un formulaire contient une liste de champs spécifiques (voir chapitre "Générer un formulaire de paiement") utilisés pour générer une chaîne.
Cette chaîne est réduite à une taille inférieure grâce à une fonction de hachage (SHA-1,HMAC-SHA-256).
Le marchand sélectionne l'algorithme de hachage dans son Back Office Marchand (voir chapitre "Sélectionner l'algorithme de hachage").
La chaîne résultante, appelée empreinte, est ensuite transmise dans le champ signature (voir le chapitre "Calculer la signature")
Modélisation des mécanismes de sécurité :
- Le site marchand construit les données du formulaire et calcule la signature.
- Le site marchand envoie le formulaire à la plateforme.
- La plateforme reçoit les données et calcule la signature avec les données reçues.
- La plateforme compare cette signature à celle transmise par le site marchand.
- Si les signatures diffèrent, la demande de paiement est rejetée.
- Sinon, la plateforme procède au paiement.
- La plateforme construit les données de la réponse et calcule la signature.
- Selon le paramétrage de la boutique (voir chapitre "Paramétrer les notifications"), la plateforme envoie le résultat du paiement au site marchand.
- Le site marchand reçoit les données et calcule la signature. Il la compare à celle transmise par la plateforme.
- Si les signatures diffèrent, le marchand analyse l’origine de l’erreur (calcul incorrect, tentative de fraude etc.)
- Sinon, le site marchand met à jour sa base de données (état du stock, statut de la commande etc.).