stevensf Posted February 4, 2014 Share Posted February 4, 2014 (edited) Bonjour, je rencontre un gros problème avec le module de paiement en ligne Paypal (version 3.6.5) sur Prestashop (1.5.x). Ce problème vient sur le calcul final et sur la TVA.En effet j'ai l'impression que le module n'utilise pas le meme système de calcul de la TVA que Prestashop.Exemple : j'ai un article à 0.99 € HTSi j'en commande 250 le mode de calcul logique est de faire0.99*250 = 247.5 auquel on ajoute la TVA à 20% ce qui donne 297 € TTCLe soucis c'est que lorsque j'arrive sur la page de paiement Paypal, je n'ai pas 297 € TTC mais 297.5 € car le module ne fait pas le meme calcul que Prestashop.Son mode de calcul semble etre le suivant :0.99 € HT + TVA à 20% = ce qui donne 1.188 (arrondi à 1.19 sur votre site) * 250 article = 297.5 €Au final j'ai une différence de 0.5 € qui sera d'autant plus importante que la quantité d'objet commandé sera importante.Je ne suis pas la seule personne à me plaindre de ce bug et mon client (futur client Paypal) ne comprend pas pourquoi cela n'est pas corrigé vu que d'après les discussionsque le forum Prestashop ce problème n'est pas nouveau.Une des solutions pour moi serait de donner à Paypal un montant total à régler sans se soucier du détail.Je ne comprend meme pas que la team Prestashop ai certifié ce module. Edited February 4, 2014 by stevensf (see edit history) Link to comment Share on other sites More sharing options...
stevensf Posted February 5, 2014 Author Share Posted February 5, 2014 (edited) Je suis désolé mais je vais être super désagréable... Comment ce fait t'il qu'un module aussi buggué ai recu l'aval de la team Prestashop. En plus lorsque je pose un ticket via le formulaire sur la page du module, on ne prend pas la peine de me répondre. On se fout de la g...... du monde ! J'ai un autre porblème avec ce module... Pourquoi il change l'adresse de livraison. J'ai du utiliser la méthode des états pour la France pour avoir des frais de port différents suivant France métropolitaine, Corse et Dom-Tom et cette saloperie de module non seulement change le nom de l'adresse de livraison du client ('Paypal_Adress) mais en plus vu que pour lui la france n'a pas d'état, met à zéro ce champs et donc fait planter les prochaine commande sur la page de sélection d'un transporteur !!!! J'airmerai vraiment une réponse car je trouve ce silence vraiment légér aussi bien de la part de la team Prestashop (qui à quand meme certifié le module) que de la team qui a peut etre gentiement développé le module Paypal mais qui semble avoir un module bien buggé au final Edited February 5, 2014 by stevensf (see edit history) Link to comment Share on other sites More sharing options...
stevensf Posted February 26, 2014 Author Share Posted February 26, 2014 (edited) Bon finalement j'ai trouvé une solution de secours... en fait je calcule le montant total avec tva de mes objets directement sur le module Paypal avant d'envoyer à Paypal le montant total (en lui disant qu'il non pas 300 articles à 1.99 € H.T., mais 1 seul article du montant total en TTC). Je donnerai le code demain si ca peut aider qq... bonne soirée à tous Edited February 26, 2014 by stevensf (see edit history) Link to comment Share on other sites More sharing options...
Enduro Posted February 28, 2014 Share Posted February 28, 2014 Bonjour Stevensf, j'ai ouvert un topic pour les frais de transport / adresses et également Eric quasi le même jour. J'ai contacté 202 directement sur leur site apparemment tu n'aura aucune réponse de leur part sur le forum presta. Je déposerai la solution sur mon topic et sur celui d'Eric, certainement une nouvelle version du module. http://www.prestashop.com/forums/topic/307357-mise-%C3%A0-jour-1562-paypal-adress/ Pour le calcule de la TVA envoi leur directement sur leur site, si tu as une solution valide. Si le calcule de la tva se fait sur la seconde manière c'est ridicule, forcement le prix final pour de grande quantité sera complètement faussé et encore une fois le montant validé sur le site du e-commerçant par le client n'est pas bon. Une question, c'est Paypal qui recalcule le montant total de la commande ? A quoi sert le choix d'arrondis dans ce cas en BO Link to comment Share on other sites More sharing options...
stevensf Posted February 28, 2014 Author Share Posted February 28, 2014 (edited) En fait mon système tient plus de la bidouille Si je commande 300 quantités d'un article, une fois sur la page Paypal, elle affichera 1 dans la quantité et non pas 300. Mais bon ca marche et pour le momment j'ai rien trouvé de mieux (mon client attendait vraiment une solution pour mettre en place sa boutique). Sinon pour répondre à ta question, en fait d'après ce que j'ai compris, Paypal fait un calcul tout simple par pure vérification. Il prend le prix TTC d'un produit et le multiplie par la quantité pour voir si son résultat correspont bien au montant total par produit que tu lui à envoyé. Et c'est de la que vient le probleme, Paypal travail avec le prix arrondi TTC par unité que le module lui envoi. Dernière chose, voici ce que j'ai fait et qui marche très bien dans mon cas Dans le fichier paypal/express_checkout/process.php Trouver la fonction : private function setProductsList à la ligne 291, cherchez... $fields['L_PAYMENTREQUEST_0_AMT'.$index] = Tools::ps_round($product['price_wt'], $this->decimals); $fields['L_PAYMENTREQUEST_0_QTY'.$index] = $product['quantity']; $total = $total + ($fields['L_PAYMENTREQUEST_0_AMT'.$index] * $product['quantity']); et remplacez par $fields['L_PAYMENTREQUEST_0_AMT'.$index] = ( Tools::ps_round( ($product['price'] * $product['quantity']) * (1 + ($product['rate']/100) ), $this->decimals) ); $fields['L_PAYMENTREQUEST_0_QTY'.$index] = 1; $total = $total + $fields['L_PAYMENTREQUEST_0_AMT'.$index]; Edited February 28, 2014 by stevensf (see edit history) Link to comment Share on other sites More sharing options...
Enduro Posted February 28, 2014 Share Posted February 28, 2014 Ok, merci pour ces infos. Cette modifs est donc bien lorsque l'on vends en grosse quantité sur un même article et n'est peut être pas utile pour les petites quantités. Link to comment Share on other sites More sharing options...
stevensf Posted February 28, 2014 Author Share Posted February 28, 2014 exactement, ce qui est le cas pour la boutique de mon client qui peut vendre par 10000 certains objets.... Link to comment Share on other sites More sharing options...
stevensf Posted April 18, 2014 Author Share Posted April 18, 2014 Bon je reviens sur ce topic car j'ai encore un soucis... J'avais trouvé un début de solution (comme dis plus haut) qui semblait fonctionner. Cependant, si le montant envoyé à Paypal est correct avec cette méthode, le client paye et tout passe bien chez Paypal (le paiement est affiché comme valide sur leur BO), il me reste un soucis : Lors du retour sur la boutique, Prestashop annonce un problème lors du paiement. Peut être y'a t'il une dernière vérification qq part. Si qq peut m'aider dans le process de retour à la boutique, je lui serait éternellement reconnaissant. Link to comment Share on other sites More sharing options...
Recommended Posts