Jump to content

erreur de paiement pour commande du canada


Recommended Posts

Bonjour,

Un client qui habite au canada vient de commander sur mon site et dans mon BO il y a une erreur de paiement (voir fichier)
32.53€ payé au lieu de 38.90€

Quelqu'un sait il pourquoi ?

je pense que c'est un probleme de devise mais je ne sais pas ou il faut faire la modif.
Merci pour votre aide !

13254_D8h5JCHMaXS91UrIp6EN_t

13255_gd7J1P396EtA7tqzJGXe_t

Link to comment
Share on other sites

Bonjour Gaelle

Je vais te sauver la mise ce n'est pas une erreur de devise mais une erreur entre paypal et prestashop.

Regarde recherche dans le forum erreur paypal et tu trouveras ta réponse ils ont fait une mise à jour sur la SVN

Mais à ce que je vois il y as une grosse erreur le bug venais juste de quelques centimes d'euros

As tu des prix dégressif dans les produits commandés?

Cordialement

Didier

Link to comment
Share on other sites

Merci d abord pour ta reponse. Je sais j'ai lu les messages concernant les erreurs paypal pour le canada mais la il n'est pas possible que se soit une erreur entre paypal et prestashop car j' accepte seulement les paiements par carte bancaire (atos); et pour ta question non je n ai pas de prix degressif... Voila ! qu en penses tu ? Tu as une autre idée? Merci beaucoup pour ton aide ! Bonne soirée

Link to comment
Share on other sites

Est-ce que tu as une conversion de devises sur ta boutique?
Moi j'ai eu le même problème en créant deux devises différentes dans mon compte Paypal et selon la devise utilisée pour le paiement et celle affichée en boutique il y a avait des convertions de devises incorrectes au sein de Presta qui me causaient les mêmes problèmes que toi. Ca a cessé quand j'ai laissé la possibilité d'afficher le site dans différentes devises mais limité la monnaie de transaction à une seule devise. (Mon installation de Presta est une 1.1.05)

Link to comment
Share on other sites

  • 4 weeks later...

j'ai le meme pb sur une version 1.2.4.0
je constate par contre que l'erreur n'est pas due à un arrondi, mais à une erreur de gestion au niveau de la TVA : à l'étranger (Canada ici, ou Suisse pour moi) le montant payé est le montant HT (normal), et le "au lieu de XXX" est le TTC !
on se retrouve donc avec une "fausse erreur" dans la mesure où le client ne paie bien que le HT
je regarde où et comment corriger ça

edit : je précise que j'offre les frais de ports, le pb n'est donc pas lié à une prise en compte de la TVA sur le port, comme répondu dans le post d'ici :

http://www.prestashop.com/forums/viewthread/23779/discussion_generale/probleme_vente_ht_a_lexport_si_paiement_cb_cybermutcic

après rapide jetage de coup d'oeil, le pb se trouve dans la classe PayementModule, ligne 122 (v1.2.4.0), où le montant total de la commande est calculé :

$order->total_paid = floatval(Tools::convertPrice(floatval(number_format($cart->getOrderTotal(true, 3), 2, '.', '')), $currency));
// Amount paid by customer is not the right one -> Status = payment error
if ($order->total_paid != $order->total_paid_real)
    $id_order_state = _PS_OS_ERROR_;



total_paid contient ici systématiquement le montant TTC, même quand la vente est effectuée à l'étranger.
en attendant de trouver mieux, j'ai modifié ce code pour ne pas générer d'erreur quand le "total_paid_real" est > 0, et je met total_paid = total_paid_real quand total_paid est différent de total_paid_real et que total_paid_real est > 0 :

            // Amount paid by customer is not the right one -> Status = payment error
// JC 16/11/2009
// Pb HT à l'export : total_paid=montant TTC, total_paid_real = HT !
           if ($order->total_paid != $order->total_paid_real && $order->total_paid_real != 0)
               // si on a payé quelque chose, on suppose que c'est le montant HT (vente à l'étranger), et on met donc que le dû est égal au payé
               $order->total_paid = $order->total_paid_real;


//            if ($order->total_paid != $order->total_paid_real)
           if ($order->total_paid != $order->total_paid_real && $order->total_paid_real == 0)
               $id_order_state = _PS_OS_ERROR_;

Link to comment
Share on other sites

merci Marc, mais en ce qui me concerne, ce n'est pas LA solution, car il ne s'agit ni d'un pb d'arrondi, ni de TVA sur le transport, mais "juste" du fait que le "total_paid" valorisé dans la table est le montant TTC, meme quand la facturation est faite à l'étranger

Link to comment
Share on other sites

  • 2 years later...

Bonjour,

 

J'ai le même soucis que vous : paiement par carte bancaire par un client étranger du montant HT mais enregistrement de la commande en TTC.

 

Avez-vous trouvé une solution hormis le fait de masquer l'erreur?

 

Je précise que le problème ne se produit que lors d'un paiement par Carte Bancaire car quand j'effectue un test avec paiement par chèque, tout se déroule normalement et la commande est bien enregistrée en HT...

 

Merci d'avance ;o)

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