@Eolia Unfortunately you are not correct about the rounding. A good case in point is look at the paypal problems over the years. Paypal and other gateways have a strange behavior with rounding and accepting transactions. If you want to mock a transaction to them and see it break do something like this
Malheureusement, vous n’avez pas raison en ce qui concerne l’arrondissement. Un bon exemple est celui des problèmes de Paypal au fil des ans. Paypal et les autres passerelles ont un comportement étrange en arrondissant et en acceptant les transactions. Si vous voulez vous moquer d'une transaction et la voir se briser, faites quelque chose comme ça
Products
2 x 1.995555
3 x 1.790000
Tax .08%
The total you get doing your method will be, 10.1099988
If you round it up to 2 digits you will get 10.11 and it will kick it out with an error.
The reason is paypal on operates off two decimal places for currencies that display with two decimal places. No matter how you send it, paypal sees
Le total que vous obtenez en faisant votre méthode sera, 10.1099988
Si vous l'arrondissez à 2 chiffres, vous obtiendrez 10.11 et il sera renvoyé avec une erreur.
La raison en est que paypal fonctionne avec deux décimales pour les devises qui affichent deux décimales. Peu importe comment vous l'envoyez, paypal voit
2 x 1.99
3 x 1.79
Tax .08%
Paypal also figures tax per LINE, not tax off the total. Other gateways do the same, but paypal is the worst.
Paypal indique également les taxes par ligne et non les taxes totales. Les autres passerelles font de même, mais paypal est le pire.
Also, in the US rounding is done per line, not at the end. This is why paypal does this method, they primarily started out as a US gateway,
If you are just working with Euro, this sounds like an easy fix, but people are not. One of the most troubling conversions is either dollars or Euro to Yen. Since you are going from two currencies that have a high value rate, to a currency that has a low value rate and uses a long decimal for the conversion. Rounding errors here often happen in 10 or 100s of Yen, not just a single decimal.
The moral of this is, its a complicated problem we would like to solve for once.
En outre, aux États-Unis, l’arrondi est effectué par ligne et non à la fin. C'est pour cette raison que paypal utilise cette méthode, ils ont commencé par être une passerelle américaine.
Si vous travaillez uniquement avec Euro, cela sonne comme une solution facile, mais les gens ne le sont pas. L'une des conversions les plus troublantes est soit le dollar, soit l'euro en yen. Étant donné que vous passez de deux devises ayant un taux de valeur élevé à une devise à taux de valeur faible et utilisant une longue décimale pour la conversion. Les erreurs d'arrondi se produisent souvent ici dans 10 ou 100 $ de yen, pas seulement avec une seule décimale.
La morale de ceci est, c’est un problème compliqué que nous voudrions résoudre pour une fois.