Projet

Général

Profil

Actions

Anomalie #1511

fermé

Plugin Paypal - Contribution dupliquée

Ajouté par Manuel Her il y a plus de 3 ans. Mis à jour il y a plus de 3 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Début:
02/11/2020
Echéance:
% réalisé:

100%

Temps estimé:

Description

Bonjour,

J'ai un problème avec l'enregistrement des contributions via le plugin Paypal.
Il arrive qu'une contribution soit enregistrée en double.
Dans le log Paypal, j'ai l'icône erreur "duplicate".

Sans réponse sous 30 secondes, paypal considère que sa notification n'a pas été prise en compte, hors d'après les logs, la contribution a bien été ajoutée.
Du coup paypal appelle à nouveau l’IPN une minute plus tard, et double donc la contribution.
Il s’agit probablement d’une surcharge ou une opération de maintenance des serveurs d’OVH. Le serveur mysql et le serveur web ne sont pas sur la même machine. Le serveur peut commencer à répondre à une requête GET/POST mais rester en attente de mysql.

A la fin de l’IPN, il faudrait stocker le champ verify_sign et l'id du membre. Lors de l'appel suivant controler que verify_sign et l'id du membre n'existe pas avant d'ajouter la contribution.

Le processus est bien expliqué ici :
https://developer.paypal.com/docs/api-basics/notifications/ipn/IPNIntro/#ipn-protocol-and-architecture

Extraits
PayPal expects to receive a response to an IPN message within 30 seconds. Consequently, your listener must not perform time-consuming operations (such as updating a database) before responding to an IPN.
Verify that the IPN is not a duplicate. To do this, save the transaction ID and last payment status in each IPN message in a database and verify that the current IPN's values for these fields are not already in this database.

Merci.
Manuel


Fichiers

stop_doublons.txt (8,83 ko) stop_doublons.txt git diff Manuel Her, 13/11/2020 19:07
Actions

Formats disponibles : Atom PDF