Analyser le résultat du paiement

Pour traiter le résultat des paiements, le site marchand doit disposer d'un script sur une page dédiée (exemple : analyse_paiement.php).

Cette page sera appelée automatiquement après chaque paiement (accepté ou refusé) : les paramètres liés au résultat du paiement sont envoyés en mode POST par la plateforme de paiement.

Prérequis :

  • L'URL de la page qui analyse le résultat du paiement devra obligatoirement être renseignée dans le Back Office Marchand (Voir chapitre Paramétrer les notifications du Guide d'implémentation API Formulaire)
  • Le marchand doit s'assurer que cette URL soit joignable par la plateforme de paiement et ce, sans redirection.

    Les redirections entrainent la perte des données présentes dans le POST.

  • En cas de restriction mise en place du côté du site marchand, il faudra autoriser la plage d'adresses d'IP 194.50.38.0/24.
    Les notifications sont envoyées depuis une adresse IP comprise dans la plage 194.50.38.0/24 en mode Test et en mode Production.
  • La page ne devra pas comporter d'affichage HTML.

    L'accès aux ressources telles que les images ou feuilles de styles peuvent ralentir les échanges entre la plateforme de paiement et le site marchand.

    De plus, la plateforme lit systématiquement les 512 premiers caractères retournés par le site marchand.

    Ces caractères sont ensuite affichés dans l'historique des transactions.
  • Evitez au maximum d'intégrer des tâches consommatrices de temps comme la génération de facture ou l'envoi d'e-mail dans ce script.

    Le temps du traitement influe directement sur le délai de l’affichage de la page de résumé du paiement. Plus le traitement de la notification est long, plus l’affichage est retardé.

    Au delà de 35s, la plateforme considèrera que l'appel a échoué (timeout).

Echec de notification (IPN)

En cas d'échec de l'appel à l’URL de notification (IPN), un e-mail d'avertissement est envoyé à l’adresse spécifiée dans le Back Office Marchand (voir chapitre Paramétrer les notifications du Guide d'implémentation API Formulaire).

Il contient :
  • le code HTTP de l’erreur rencontrée,
  • des éléments d’analyses en fonction de l’erreur,
  • la procédure à suivre depuis le Back Office Marchand pour renvoyer la notification.

Concevoir le script de traitement

Le script de traitement devra comporter au moins les étapes ci-dessous:

  • Récupérer la liste des champs présents dans la réponse envoyée en POST
  • Calculer la signature
  • Comparer la signature calculée avec celle réceptionnée
  • Analyser la nature de la notification
  • Récupérer le résultat du paiement

Le script peut par exemple tester l'état de la commande (ou l'information de votre choix) pour vérifier qu'elle n'ait pas déja été mise à jour.

Une fois ces étapes réalisées, le script peut mettre à jour la base de données (nouvel état de la commande, mise à jour du stock, enregistrement des informations du paiement etc.).