IPN est un terme anglais qui veut dire Instant Payment Notification.
En français, on parlera d'url de notification instantanée.
Derrière ce terme se cache le nom du script dont la plateforme de paiement demandera l'exécution à la fin du paiement.
Pourquoi est-ce important?
Parce le script dont vous demandez l'exécution à la fin du paiement va analyser les données de la plateforme de paiement pour transformer (ou pas) le panier en commande si le paiement a été autorisé.
La plateforme de paiement appelle votre url de notification instantanée en lui passant des paramètres que vous devez analyser via votre script:
Parmi ces paramètres citons:
- le moyen de paiement utilisé par l'acheteur
- le code retour autorisation
- le type d'autorisation (pré-auto ou full)
- le numéro de carte masqué au format pci-dss si paiement par carte
- la date d'expiration de la carte
- la date théorique de remise en banque
- le type de carte
- etc..
Pour vous aider à analyser vos problèmes d'IPN, la plateforme de paiement en ligne Payzen, vous fournit plusieurs informations importantes dans l'onglet "Historique d'une transaction":
- L'heure d'appel de votre script (en temps réel à la fin du paiement)
- La durée d'exécution de votre script sur votre serveur (important d'optimiser ce temps car la réponse à l'acheteur est synchronisée avec la réponse de ce script)
- Les 140 premiers caractères que votre script écrit sur le canal ouvert entre Payzen et votre serveur (on récupère souvent vos printout sur ce canal).
Quels sont les problèmes les plus fréquents:
- vous n'avez pas renseigné l'ipn. Dans ce cas, impossible de vous notifier.
- vous avez renseigné une url invalide (HTML 404). impossible de vous notifier
- votre serveur est en maintenance (HTML 503). impossible de vous notifier.
- vous avez migré votre serveur et les dns n'ont pas encore propagé l'adresse de destination. impossible de trouver votre serveur
- vous avez migré d'un shopping cart à un autre et vous avez oublié de changer l'url du script
- vous avez codé un .htaccess et il ne nous est pas possible de demander l'exécution de votre script
- vous avez bloqué nos adresses ip demandant l'exécution du script
- votre script est accessible via une url en https et votre configuration SNI est incorrecte
- votre script est accessible via une url en https et votre serveur https ne supporte pas le repli de TLS1.2 vers TLS1.0 (si vous ne supportez que TLS1.0)
- le script a un bug applicatif causé par votre code ou par un module tiers (HTML 500). Ce cas est finalement très fréquemment et peut provenir de mille causes possibles. Il vous faut analyser vos logs serveurs, souvent en mode DEBUG et trouver le code coupable de l'exception. Dites-vous que Payzen n'est pas responsable des erreurs HTML 500 et vous devez jouer aux détectives pour trouver le coupable.
Comment Payzen vous aide?
- en cas d'erreur d'exécution du script, Payzen vous notifie par mail en temps réel.
- en cas d'erreur temporaire (maintenance), Payzen vous propose de rejouer le script jusqu'à 4 fois pendant l'heure suivant le problème en tentant de l'exécuter toutes les 15 mn. A chaque erreur,vous êtes notifié.
- en cas d'erreur permanente de votre script, Payzen vous propose de rejouer manuellement l'url de notification instantanée depuis le back-office marchand, une fois que vous avez corrigé votre problème.
Donc un conseil à suivre:
Lisez les mails de la plateforme de paiement en ligne Payzen. Ils sont très utiles.