Jump to content

Erreur d'arrondis bien tordus pour paypal (c'est pas la TVA)


Recommended Posts

Bonjour à tous.

 

Je m'en remet à vous chère communauté Prestashop concernant un bug sur le module de paiement Paypal ( bien que je crois que ca vient plutôt de Paypal tout court, mais pas sur ^^ )

 

je vous expose le problème :

 

j'ai 2 articles dans le panier

 

Produit numéro 1 - quantité : 1,5 - prix TTC : 19,95 - total : 29,925 ( soit 29,93 )

Produit numéro 2 - quantité : 3,5 - prix TTC : 19,95 - total : 69,825 ( soit 69,83 )

 

Total avec arrondis : 29,93 + 69,83 = 99,76 ( la bonne méthode )

Total sans arrondis : 29,925 + 69,825 = 99,75

Alors que si on prend ligne par ligne il faut arrondir sur 2 chiffres et donc 1centime de plus se glisse au moment de l'addition.

Mais si on arrondis seulement à la fin, les décimales étants sur 3 chiffres et terminants par 5 cela fait un prix ronds quand ont les additionnent et alors rien ne se passe.

 

Voila ce que j'envois comme requête à Paypal.

 

[L_PAYMENTREQUEST_0_NUMBER0] => 56315
[L_PAYMENTREQUEST_0_NAME0] => Tissu jacquard Titi
[L_PAYMENTREQUEST_0_DESC0] => ...

[L_PAYMENTREQUEST_0_AMT0] => 19.95
[L_PAYMENTREQUEST_0_QTY0] => 3.5

[L_PAYMENTREQUEST_0_NUMBER1] => 56313
[L_PAYMENTREQUEST_0_NAME1] => Tissu jacquard Titi
[L_PAYMENTREQUEST_0_DESC1] => ...

[L_PAYMENTREQUEST_0_AMT1] => 19.95
[L_PAYMENTREQUEST_0_QTY1] => 1.5

[PAYMENTREQUEST_0_PAYMENTACTION] => Sale
[PAYMENTREQUEST_0_CURRENCYCODE] => EUR
[PAYMENTREQUEST_0_SHIPPINGAMT] => 0.00

[PAYMENTREQUEST_0_ITEMAMT] => 99.76
[PAYMENTREQUEST_0_AMT] => 99.76

 

 

Pour moi le tableau de donnée envoyé à Paypal est correct ( sauf erreur ) mais il doit recalculer lui même le montant Total sans faire les arrondis ligne par ligne : 29,925 + 69,825 = 99,750 = 99,75 et le comparer avec le champs PAYMENTREQUEST_0_AMT ( soit 99,76 ) donc trouvé un écart de 1 centime puis renvoyer l'erreur suivante.

 

  1. <b>PayPal response:</b>
  2. TIMESTAMP -> 2015-01-07T17:46:33Z
  3. L_ERRORCODE0 -> 10413
  4. L_SHORTMESSAGE0 -> Transaction refused because of an invalid argument. See additional error messages for details.
  5. L_LONGMESSAGE0 -> The totals of the cart item amounts do not match order amounts.
  6. L_SEVERITYCODE0 -> Error

 

Voila voila soit c'est moi qui est fou et j'ai rien compris à Paypal soit c'est eux qui sont fous ^^.

 

Alors si quelqu'un voit d'où vient le problème je suis preneur.

 

Merci par avance.

À bientot.

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...
  • 4 weeks later...

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...