Jump to content
kerlin

[RESOLU] Problèmes 3 décimales et module e-transactions

Recommended Posts

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 by kerlin
résolu (see edit history)

Share this post


Link to post
Share on other sites

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 ?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More