Bonjour,
Nous vendons des formations via HikaShop. HikaSerial nous permet de gérer des souscriptions pour des paiement en 10x via paypal recurring.
La plupart du temps cela fonctionne bien. Le client passe la commande, cela initialise la première commande (et la souscription), lui prélève le montant prévu et le tableau de bord dans PayPal est "normal" aussi.
Ensuite, tous les mois, un nouveau paiement est déclenché qui se traduit par une nouvelle commande et une nouvelle notification en retour par Paypal IPN. Tant du côté "hika" (commandes et renouvellement des souscriptions) que du côté Paypal, tout est normal. Et, ce pour plusieurs clients différents.
Mais de temps en temps, on a l'impression que l'IPN est traité deux fois (très rapprochées car il y a au maximum une seconde d'écart visible sur les date/heure des logs). Cela génère deux commandes hikashop (et donc deux factures) sans pour autant qu'il y ait deux paiements. Le mode debug est activé. On a donc toutes les traces dans l'historique des deux commandes et c'est exactement la même chose dans les deux à l'exception de l'heure à une seconde près et à l'exception du dernier chiffre de l'adresse IP (137.XX.XX.36 dans un cas et 137.XX.XX.3 dans l'autre).
Rien d'anormal dans le tableau de bord de PayPal. Mais la souscription est décalée d'un mois dans le temps car il enregistre un renouvellement "pour rien".
Il semblerait donc que la même IPN puisse être envoyé presque simultanément par deux serveurs différents de Paypal. Mais je n'obtiens pas de réponse de Paypal là dessus pour l'instant.
Avez-vous déjà été confronté à ce problème ? Ne faudrait-il pas ajouter une condition dans le plugin pour ne pas traiter deux fois la même IPN ? (txn_id ou ipn_track_id). Car, en l'état, cela génère deux factures différentes (client et compta interne) et un renouvellement "gratuit"....
Merci pour votre retour,
Laurent