sami_ch Posted June 29, 2017 Share Posted June 29, 2017 Bonjour, Config : PS 1.5.6.2 / Paypal 3.11.4 Problème : certains clients effecutent un paiement via paypal mais leur panier n'est pas converti en commande ! J'ai modifié le fichier /modules/paypal/ipn.php comme ci-dessous afin d'avoir un log des appels de ce fichier par le serveur Paypal : // *** LOG *** $data = "\n\n" . date("d/m/Y H:i:s"); if (Tools::getValue('receiver_email') == Configuration::get('PAYPAL_BUSINESS_ACCOUNT')) { if (Tools::getIsset('custom')) { $ipn = new PayPalIPN(); $custom = Tools::jsonDecode(Tools::getValue('custom'), true); $ipn->confirmOrder($custom); // *** LOG *** $data .= " - custom = " . json_encode($custom); } } // *** LOG *** file_put_contents("_log1.txt", $data, FILE_APPEND); Voici un extrait de ce que ça génère : 28/06/2017 10:55:55 - custom = {"id_cart":36125,"hash":"2ceb60b1..."} 28/06/2017 04:42:57 - custom = {"id_cart":36134,"hash":"9f24d284..."} Ici le panier de la 1ère ligne n'a pas été converti, mais le 2ème si ! D'après un ancien post similaire le problème provient du cas suivant : le client valide son panier, est redirigé vers la page de paiement, reviens à la page précédente (bouton Bacl du navigateur), valide de nouveau son panier sans modif, et effectue le paiement. Quelqu'un a une solution ? Merci d'avance Link to comment Share on other sites More sharing options...
doekia Posted June 29, 2017 Share Posted June 29, 2017 instancie le panier coupable, récupère son montant, demande à Paypal quel devrait être le montant. normalement quelque part dans ces opération tu devrait voir pointer la cause ... par contre si problème d'écart montant ... c'est souvent insoluble Link to comment Share on other sites More sharing options...
sami_ch Posted June 29, 2017 Author Share Posted June 29, 2017 merci pour la réponse. j'ai vérifié et le montant du panier correspond bien à celui du côté de paypal. Link to comment Share on other sites More sharing options...
doekia Posted June 29, 2017 Share Posted June 29, 2017 Tu ne dois pas regarder ce qui à été payé, mais ce que en action retour, le module recalcule Link to comment Share on other sites More sharing options...
sami_ch Posted June 30, 2017 Author Share Posted June 30, 2017 désolé mais je n'ai pas compris je dois chercher quoi au juste ? et comment ? (c-a-d dans quelle interface?) Link to comment Share on other sites More sharing options...
doekia Posted June 30, 2017 Share Posted June 30, 2017 Aucun interface. Tu écris du code qui: - instancie le panier ayant eu l'erreur - appelle le calcul de prix prestashop - injecte ce panier dans le code de calcul du prix paypal Très probablement que les 2 ne vont pas matcher Et comme ce second prix est utilisé pour la validation 2eme tiers de l'ipn paypal, ceci expliquera cela Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now