kerlin Posted October 29, 2019 Share Posted October 29, 2019 (edited) Bonjour, sur un site sous PS 1.7.5.2, des produits sont vendus avec une TVA à 5.5%. Pour des petits prix, cela donne des prix à 3 décimales en BO (ex 1€ HT => 1,055 TTC) mais arrondis à 2 en front (1,055€ affiche 1,06€). Le souci est avec le module de paiement e-transactions Crédit Agricole : si le produit a 3 décimales avant arrondi, le paiement provoque une erreur "Erreur de protection, ..." Si dans le BO, je modifie le prix TTC en ne mettant que 2 décimales, pas de souci. J'ai bien sûr contacté le développeur hier midi mais toujours pas de réponse (franchement, il y a des dev de modules moins chers et moins indispensables -les modules, pas les dev - qui répondent bien plus vite ...) alors je viens voir sur le forum si quelqu'un a déjà été confronté au problème. Dans la console, Réseau, en ouvrant le script cgi, je lis PBX_TOTAL : 105.5 (pour un prix TTC de 1,055€) C'est le point qui fâche. Cela devrait afficher 1055. Si le prix en BO est de 1,06€ TTC PBX_TOTAL affiche 1060 Dans paybox.php il y a if ($this->context->currency->decimals == 0) { $this->pbx_total = number_format($this->cart->getOrderTotal(), 0, '', ''); } else { $this->pbx_total = $this->cart->getOrderTotal() * 100; } Supposant que c'était la formule qui permettait d'afficher le prix en centimes, donc sans point ou virgule, j'ai remplacé 100 par 1000 (puisque 3 décimales au lieu de 2). Plus de message d'erreur. Mais la fenêtre récapitulative du module de paiement affiche un prix à payer de 10,55€. Et pour un produit sans décimales + 3,20 de frais de port, l'affichage est de 139.20€ au lieu de 13.92€ J'ai l'impression que c'est parce que le module décrète qu'il n'y a que 2 décimales et du coup positionne le point à 2 décimales à partir de la droite. Dans le dossier translations > cldr > main-fr-FR--numbers, j'ai modifié le nombre de décimales dans : standard ###0.00 par ###0.000 Mes prix sur le site sont maintenant affichés avec 3 décimales (il me semble d'ailleurs que c'est plus juste pour les petits prix avec une TVA à 5,5). Mais cela ne résout pas mon souci sur la page de paiement. Il y a manifestement un blocage à 2 décimales. Alors soit on lui envoie le prix "arrondi" à 2 décimales plutôt que le prix tel que dans le BO, soit on lui fait accepter 3 décimales. Mais le tout c'est : comment ?? Merci d'avance Edited November 3, 2019 by kerlin résolu (see edit history) Link to comment Share on other sites More sharing options...
kerlin Posted October 31, 2019 Author Share Posted October 31, 2019 Toujours pas de réponse du dev pour un module à 300€. Module que l'on trouve gratuitement et en accès libre sur le site de CA commerce. Avec un n° de tél de hotline. Réponse immédiate : impossible de modifier, le module ne prend que 2 décimales parce qu'il n'y a pas de dixièmes de centimes. Donc même si on a des tarifs avec beaucoup de chiffres derrière la virgule, il FAUT mettre 2 dans le nombre de décimales. Donc dans les réglages du BO, la possibilité de monter à 7 est totalement inutile ? 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