Jump to content

[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)
Link to comment
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 ?

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...