Qu'est ce qu'une notification de paiement ?
Une notification de paiement (aussi appelée ipn) permet la communication entre les serveurs de PayPlug et le serveur de votre site marchand. Elle transmet les informations de paiement et permet ainsi la mise à jour de l'état de la commande dans le back-office de votre site.
Dans la cadre d'un fonctionnement normal, vos transactions doivent afficher un code de réponse 200, ce qui signifie que le paiement s'est bien déroulé et que la transmission des données entre votre serveur et le serveur de PayPlug a eu lieu normalement.
Une erreur de notification n'a aucune incidence quant à la bonne réception d'un paiement sur votre compte PayPlug. Elle signifie juste que les informations vers votre site marchand ont été mal transmises.
Comment savoir si j'ai reçu une erreur de notification ?
Vous recevez un email automatique de notre part vous informant d'une erreur de notification.
Vous pouvez aussi vous rendre dans le menu "Paiements" de votre back-office PayPlug puis cliquer sur la ligne du paiement recherché. Le "code de réponse de notification" sera affiché dans l'état du paiement.
Explication des erreurs de notification
Cas 1 : Erreurs de notification avec un code vide
Si vous recevez un e-mail de notre part sans code d'erreur de notification mais indiquant que "la transmission vers votre serveur de la notification de transaction a échouée", il est probable que cela soit causé par une mauvaise installation de vos certificats.
Afin de tester l'installation de vos certificats, nous vous recommandons les outils suivants :
Si vos certificats ne sont pas correctement installés, la chaîne de certificats n'est pas fonctionnelle. Par conséquent, les notifications ne sont pas reçues et vos commandes ne sont pas mises à jour dans le back-office de votre site marchand.
Cas 2 : Erreurs de notification 301 et 302
Les statuts HTTP de la catégorie 300 sont réservés aux redirections.
Dans le cadre d'un code de réponse 3xx, cela signifie que l'url renseignée n'est pas assez spécifique ou est incorrecte.
Les redirections résultent d'un changement d'URL. Cela peut résulter d'une stratégie SEO, d'une refonte du site, d'une stratégie de sécurité, etc.
Le serveur de notifications ( aussi appelé "Notifier") de PayPlug est conçu pour ne pas prendre en compte les redirections des sites marchands.
Les différents types de codes de réponse 3xx :
Code de réponse 301 (Moved permanently)
Il s'agit d'une redirection permanente.
Un code de réponse 301 doit laisser penser à un souci de passage du HTTP au HTTPS.
Code de réponse 302 (Found)
Initialement cette erreur était définie par "Moved temporarily".
Cas 3 : Catégorie d'erreurs 400, 401, 403, 404 et 405
La classe d'erreurs 4xx signifie que la notification des serveurs de PayPlug n'a pas pu accéder correctement à votre serveur.
Les différents types d'erreur 4xx:
Erreurs 400 (Bad request)
Cette erreur indique que le serveur n'a pas été capable de traiter la requête à cause d'une syntaxe invalide. Il peut donc s'agir d'une url mal formée.
En cas d'erreurs 400, nous vous recommandons d'interroger votre hébergeur, notamment si votre site e-commerce repose sur une solution intégrée entièrement en ligne de type SAAS.
Erreurs 401 (Unauthorized)
Cela signifie qu'une authentification est nécessaire pour accéder à la ressource.
Notre serveur ne peut donc pas communiquer l'IPN.
Plus concrètement, lorsqu'une erreur d'IPN 401 arrive, c'est généralement parce que la page de l'IPN, voir le site tout entier est protégé par un htaccess.
Afin de résoudre ce problème, vous devez revoir les droits d'accès à cette url qui doit être accessible depuis l'extérieur.
Erreur 403 (Forbidden)
La requête est valide mais le serveur a refusé l'action. Cela peut être dû à un manque de permissions pour accéder à la ressource.
Une cause fréquente d'erreur 403 est la présence d'un parefeu (Firewall). En effet, un firewall empêche la bonne réception des notifications.
Chez les marchands utilisant la solution PayPlug, ce type d'erreur est fréquemment observé lorsque le site est hébergé chez OVH et que leur parefeu est activé.
Dans ce type de situation, il est nécessaire de désactiver le firewall mais aussi de supprimer le fichier .ovhconfig qui se trouve à la racine su serveur.
Si malgré tout, cela n'est pas suffisant, pensez également à vérifier les points suivants :
- autoriser les requêtes POST entrantes sur le serveur.
- en cas d’utilisation de proxy, vérifier les règles sur les requêtes HTTP et/ou HTTPS.
- vérifier les droits d’accès : CHMOD en 0755 sur le dossier et 0644 sur les fichiers du module.
- en cas de présence d’un fichier .htaccess, vérifiez qu’il n’y a pas de restriction.
Erreur 404 (Not found)
L'erreur 404 signifie que la ressource demandée (généralement une page web) n’existe pas.
L'origine de cette erreur est en général une URL renommée ou supprimée. Elle survient généralement sur une page de redirection après le paiement.
Pour remédier à ce problème, vous pouvez vérifier vos urls de retour et d'annulation. Si vous utilisez un CMS, vous pouvez aussi désinstaller et réinstaller votre module PayPlug.
Erreur 405 (Method not allowed)
La cause la plus commune d'une erreur 405 est que le script contient une mauvaise URL, par exemple à cause d'une erreur de typo.
Dans ce cas, si nous tentons d'afficher l'url dans le navigateur, celle-ci va renvoyer sur une page 404.
Une autre cause d'erreur 405 est l'utilisation d'un mauvais "verbe" HTTP. Par exemple, vous utilisez une méthode GET à la place d'une méthode POST.
Cas 4 : Catégorie d'erreurs 500, 502, 503
La classe d'erreurs 5xx signifie que le serveur détermine lui même qu'il a rencontré une erreur ou est incapable de traiter la notification.
Les différents types d'erreur 5xx :
Erreurs 500 (Erreur interne au serveur)
L'erreur de notification 500 est une erreur assez générale, interne au serveur. Il peut donc s'agir d'un problème de configuration sur votre serveur, d'une erreur système, d'une mauvaise attribution des permissions, de fichiers manquants ou erronés sur votre site ou votre serveur.
- Nous vous invitons à investiguer sur l’origine de cette erreur au niveau de votre serveur et de vérifier les points suivants :
- les permissions sur les fichiers et le dossier où est situé le module PayPlug. Il faut notamment que vos dossiers aient les permissions 0755 et vos fichiers 0644. Les permissions ne doivent être ni trop ouvertes, ni trop restreintes,
- la configuration de votre fichier .htaccess, notamment les erreurs de paramètres des URL réécrites ou l’activation des URL simplifiées.
- les logs d’erreurs de votre serveur ou de votre site Internet.
- la configuration de votre serveur, notamment les temps de réponse dépassés.
- le code que vous avez mis en place dans le cas d’une intégration technique.
- tous les changements que vous auriez pu opérer récemment.
L'article suivant vous donnera plus d'informations sur les erreurs 500 sur PrestaShop
https://www.prestashop.com/fr/blog/erreur-500-prestashop-suivez-le-guide
Erreurs 502 (Bad gateway)
L'erreur 502 correspond à une erreur de gateway ou de proxy.
Un serveur jouant le rôle de proxy n'a pas été en mesure d'obtenir une réponse du serveur d'origine.
Les 3 principales raisons d'une erreur 502 sont les suivantes :
- impossible de "résoudre" le nom de domaine : soit le nom de domaine obtient une mauvaise adresse IP, soit il n'arrive à résoudre aucune IP. Sachez que tout changement de DNS peut prendre du temps à être effectif car ils doivent être déployés sur les serveurs du monde entier.
- le serveur d'origine est hors service ou injoignable.
- les requêtes sont bloquées par un parefeu : un parefeu bloque les communications entre les serveurs d'origine et les serveurs périphériques. Cela peut aussi être causé par un module de sécurité sur votre CMS, par exemple une protection contre les attaques de type "déni de service".
Erreurs 503 (Service unavailable)
L'erreur 503 signifie que le serveur est indisponible. Elle survient généralement lorsque le serveur Web est incapable de traiter la requête HTTP en raison d’une surcharge ou d’une maintenance temporaire.
En cas d'erreur 503, nous vous invitons à consulter les périodes d'indisponibilité de votre serveur mais également à vérifier si vos capacités d'hébergement ne sont pas sous-dimensionnées.
Il est également indispensable que votre site soit en ligne et accessible depuis Internet. Si votre site est en mode maintenance, vous allez recevoir des erreurs 503.
Il est également utile de vérifier que les requêtes extérieures sont autorisées notamment depuis l'Irlande.
Si vous êtes sur un mutualisé et que votre géolocalisation IP est active, il vous faut rajouter le pays "Irlande" dans la liste des autorisations.