henribaeyens Posted December 22, 2009 Share Posted December 22, 2009 Ce n'est pas la première fois :message retourné après paiement via paypal.Attention : 57.50 payé au lieu de 57.49Produits : 50.92Transport : 6.58Total : 57.49 (!!!)Payé : 57.50PS version 1.2.5C'est plutôt ennuyeux. Serait-ce dû au fait que ps utilise 6 décimales pour les prix (pourquoi pas directement 2 ??) et que les arrondis finissent par chier dans le ventilo ?hEdit: ci-joint 2 captures d'écrans. A noter : lorsque l'on arrive sur la page du produit, le prix indiqué est de 50.92 puis passe à 50.91 dans la seconde suivante (va savoir pourquoi). Ce dernier prix est désormais pris en compte dans le calcul du panier, expliquant la différence remarquée. Link to comment Share on other sites More sharing options...
flamentn Posted December 30, 2009 Share Posted December 30, 2009 exactement le meme probleme... si quelqu'un a une idée...vous avez modifié le prix directement dans la base pour corriger ? Link to comment Share on other sites More sharing options...
henribaeyens Posted January 4, 2010 Author Share Posted January 4, 2010 j'ai peut-être trouvé le problème. Je dois faire des tests avant de soumettre les corrections. C'est bien prestashop qui se plante dans ses calculs, de pas grand chose certes, mais c'est suffisant pour que l'inégalité entre le total panier (total_paid) et ce qui est chargé au client (total_paid_real) déclenche l'erreur de paiment.A suivre. Link to comment Share on other sites More sharing options...
pokemon3d Posted January 6, 2010 Share Posted January 6, 2010 Bonjour,Je suis intéressé par une solution, si elle existe, car je suis dans le même cas en cette période de soldes.D'avance merci Link to comment Share on other sites More sharing options...
henribaeyens Posted January 11, 2010 Author Share Posted January 11, 2010 les corrections suivantes semblent résoudre le problème :/classes/Cart.php (dans les 2 fonctions suivantes, le 4e argument de getPriceStatic devient 2)getProducts : $row['price'] = Product::getPriceStatic(intval($row['id_product']), false, isset($row['id_product_attribute']) ? intval($row['id_product_attribute']) : NULL, 2, NULL, false, true, intval($row['quantity'])); $row['price_wt'] = Product::getPriceStatic(intval($row['id_product']), true, isset($row['id_product_attribute']) ? intval($row['id_product_attribute']) : NULL, 2, NULL, false, true, intval($row['quantity'])); getOrderTotal : $price = floatval(Product::getPriceStatic(intval($product['id_product']), $withTaxes, intval($product['id_product_attribute']), 2, NULL, false, true, $product['quantity'])); /modules/blockcart.php (dans la fonction suivante, le 4e argument de getPriceStatic devient 2)smartyAssigns : $products[$k]['real_price'] = Product::getPriceStatic($product['id_product'], intval(Configuration::get('PS_PRICE_DISPLAY')) == 1 ? false : true, $product['id_product_attribute'], 2, NULL, false, true, $product['cart_quantity']) * $product['cart_quantity']; La modif suivante peut corriger des erreurs d'arrondis lors du changement d'affichage des prix (dans la page produit)/themes/votre-theme/js/products.jsupdateDisplay : $('#our_price_display').text(formatCurrency(formatPrice(priceProduct), currencyFormat, currencySign, currencyBlank)); $('#pretaxe_price_display').text(formatCurrency(formatPrice(productPricePretaxed), currencyFormat, currencySign, currencyBlank)); $('#old_price_display').text(formatCurrency(formatPrice(productPriceWithoutReduction2), currencyFormat, currencySign, currencyBlank)); $('#ecotax_price_display').text(formatCurrency(formatPrice(selectedCombination['ecotax']), currencyFormat, currencySign, currencyBlank)); of course, remember that your mileage may vary. Link to comment Share on other sites More sharing options...
Noxyd Posted January 22, 2010 Share Posted January 22, 2010 Super, merci pour la solution, t'es un chef.Heu, mais au fait, il faut rajouter ces lignes n'importe où dans les fichiers correspondants ou y a-t-il un endroit en particulier? Link to comment Share on other sites More sharing options...
henribaeyens Posted January 22, 2010 Author Share Posted January 22, 2010 mmh, moi qui pensais avoir été clair...Ces lignes existent, il suffit de les rechercher, puis de changer ce qui doit l'être.bon courage Link to comment Share on other sites More sharing options...
Noxyd Posted January 22, 2010 Share Posted January 22, 2010 Merci beaucoup pour ta réactivité, je vais tester ça, je te dirais si ça marche :-) Link to comment Share on other sites More sharing options...
henribaeyens Posted January 22, 2010 Author Share Posted January 22, 2010 ça fait plus de dix jours, en fait depuis le post #4, que j'ai fait les modifs pour le site d'un client qui avait régulièrement ce genre d'erreurs. Et depuis, plus rien. Link to comment Share on other sites More sharing options...
samsab Posted January 23, 2010 Share Posted January 23, 2010 La modif suivante peut corriger des erreurs d'arrondis lors du changement d'affichage des prix (dans la page produit)/themes/votre-theme/js/products.jsupdateDisplay : $('#our_price_display').text(formatCurrency(formatPrice(priceProduct), currencyFormat, currencySign, currencyBlank)); $('#pretaxe_price_display').text(formatCurrency(formatPrice(productPricePretaxed), currencyFormat, currencySign, currencyBlank)); $('#old_price_display').text(formatCurrency(formatPrice(productPriceWithoutReduction2), currencyFormat, currencySign, currencyBlank)); $('#ecotax_price_display').text(formatCurrency(formatPrice(selectedCombination['ecotax']), currencyFormat, currencySign, currencyBlank)); of course, remember that your mileage may vary. salutdans le dernier bloc de modif, quelle est la correction apportée dans le détail?A te lire.A+ Link to comment Share on other sites More sharing options...
henribaeyens Posted January 23, 2010 Author Share Posted January 23, 2010 c'est l'appel à formatPrice. Il faut donc inclure price.js ou copier la fonction soit dans tools.js soit dans product.jsNormalement ça doit marcher, mais, avec javascript, on est jamais à l'abri : un effet imprévu, consécutif à un changement, peut se produire et faut repartir à zéro; Et comme PS utilise des tonnes de javascript... beaucoup trop à mon goût... A tester avec circonspection donc. Link to comment Share on other sites More sharing options...
Noxyd Posted January 27, 2010 Share Posted January 27, 2010 Je viens d'avoir une nouvelle erreur de paiement...Merci quand même d'avoir essayé, c'est sympa de ta part ;-) Link to comment Share on other sites More sharing options...
henribaeyens Posted January 28, 2010 Author Share Posted January 28, 2010 on est peut-être en face d'un cas particulier. Les circonstances de l'erreur sont-elles les mêmes ? Link to comment Share on other sites More sharing options...
Ratatosk Posted February 4, 2010 Share Posted February 4, 2010 Pour info, la solution de Tomerg3 sur http://www.prestashop.com/forums/viewthread/33467/help_configuration___use/cart_and_paypal_not_adding_up semble bien corriger le problème sur mon PS 1.2.5R 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