Principe
La confirmation finale d’une transaction est envoyée de façon asynchrone à votreipn_url.
Exemple IPN – Succès
Exemple IPN – Échec
Champs du payload IPN
Vérification du Hash
Pour la vérification du hash, vous devez générer une clé SHA256 en concatenant votre clé d’apiAPI_KEY et l’id de la transaction courante TRANSACTION_ID que vous comparez ensuite à la valeur du hash que vous recevez dans l’IPN.
const generatedHash = sha256(api_key + transaction_id)
generatedHash == hash ? console.log('la réponse vient de chez nous') : console.log('la réponse ne viens pas de chez nous)
États possibles
Recommandations
- Toujours répondre HTTP 200 OK à l’IPN pour confirmer la réception
- Vérifier l’unicité du
transaction_idpour éviter les traitements en double - Utiliser
custom_datapour faire le lien avec votre système interne - Vérifier que la réponse provient de nous véritablement à partir du
hash
