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