Tom1967 Posted February 23, 2017 Share Posted February 23, 2017 (edited) Hallo,scheinbar gibt es das Problem mit dem Rundungsfehler beim PayPal-Modul öfter.Zumindest habe ich schon den einen oder anderen Beitrag dazu hier im Forum gesehen.Irgendwie habe ich aber nicht die Lösung dafür gefunden :-(Bei mir kommt bei jeder Bestellung mit PayPal-Zahlung eine Fehlermeldung: 1. ist der Status auf "Fehler bei der Bezahlung" und 2. Vorsicht xy,15 € bezahlt statt xy,14 € bezahlt Dabei kommt es vor, dass es mal ein Cent zu viel aber auch ein Cent zu wenig ist.Kann mir bitte jemand eine Lösung dafür geben?Denn das geht ja garnicht! VGTom Edited February 23, 2017 by Tom1967 (see edit history) Link to comment Share on other sites More sharing options...
eleazar Posted February 23, 2017 Share Posted February 23, 2017 Die Lösung kann aktuell nur heißen: Ein fehlerbereinigtes oder komplett anderes Paypal-Modul. Denn dieses Modul rechnet überflüssigerweise selbst nochmal und rundet dabei an den falschen Stellen. Tut mir leid, aber eine bessere Auskunft gibt es z.Z. nicht. Link to comment Share on other sites More sharing options...
Tom1967 Posted February 23, 2017 Author Share Posted February 23, 2017 Wo bekomme ich denn ein fehlerbereinigtes?Und bitte nicht das für 120,- Euro! Link to comment Share on other sites More sharing options...
eleazar Posted February 23, 2017 Share Posted February 23, 2017 Kennst du das 'Prinzip Hofffnung'? Link to comment Share on other sites More sharing options...
Tom1967 Posted February 23, 2017 Author Share Posted February 23, 2017 ...na super! :-( Link to comment Share on other sites More sharing options...
Tom1967 Posted February 23, 2017 Author Share Posted February 23, 2017 ...langsam kommen mir dann doch Zweifel ob das wirklich die richtige Entscheidung war zu Presta zu wechseln :-( Link to comment Share on other sites More sharing options...
Magicalname Posted February 23, 2017 Share Posted February 23, 2017 Kein Erfolgsversprechen aber einen Versuch wert >>>>>>> https://github.com/PrestaShop/paypal/issues/39 1 Link to comment Share on other sites More sharing options...
rictools Posted February 24, 2017 Share Posted February 24, 2017 Ich habe das Problem noch nicht gehabt, muß also wohl mit irgendeiner Einstellung oder der Shopversion zu tun haben. Link to comment Share on other sites More sharing options...
Tom1967 Posted February 25, 2017 Author Share Posted February 25, 2017 Kein Erfolgsversprechen aber einen Versuch wert >>>>>>> https://github.com/PrestaShop/paypal/issues/39 Dein Tipp hat geholfen. Jetzt scheint es zu funktionieren ;-) Vielen Dank! Link to comment Share on other sites More sharing options...
s.kick Posted June 7, 2019 Share Posted June 7, 2019 Bei uns ist das Problem auch aufgetaucht. Gibt es inzwischen eine richtige Lösung dafür? Ich meine es kann doch nicht sein, dass PayPal da einfach rundet wie die wollen, sondern es sollte sich nach dem Shop gerichtet werden. Wir hatten den Rundungsfehler nämlich vorher im Shop, weshalb sich der Kunde beschwerte, dass der Shop nicht richtig rundet, was dadurch gelöst werden konnte, dass wir auf "Runden der Gesamtsumme" umgestellt haben! Dementsprechend ist es hier keine Lösung einfach wieder auf "Runden der einzelnen Artikel" umzustellen, denn das hat genau den gleichen Rundungsfehler verursacht wie ihn PayPal jetzt macht. Klar im Endeffekt liegt das Problem in den krummen Preisen, die der Kunde vorgibt, aber die denkt der sich ja auch nicht einfach aus! Prestshopversion ist die akutelle 1.7er und das PayPal Modul ist auch aktuell! Immerhin gibt PayPal im Modul den Hinweis auf den Rundungsfehler schon selbst, aber das kann es doch nicht sein, dass da nichts gemacht wird. Link to comment Share on other sites More sharing options...
Wuschel Posted June 7, 2019 Share Posted June 7, 2019 Das Modul stammt übrigens nicht von Paypal selbst, sondern vom französischen Entwickler 202ecommerce, der für solche Bugs seit Jahren berüchtigt ist. Hier hat man wohl aus der Not, etwas ändern zu müssen, eine Tugend gemacht. Die User sollen lieber unsinnige Einstellungen wählen. Der Casus knacktus scheint die folgende Funktion in der paypal.php zu sein: public function validateOrder($id_cart, $id_order_state, $amount_paid, $payment_method = 'Unknown', $message = null, $transaction = array(), $currency_special = null, $dont_touch_amount = false, $secure_key = false, Shop $shop = null) { if ($this->needConvert()) { $amount_paid_curr = Tools::ps_round(Tools::convertPrice($amount_paid, new Currency($currency_special), true), 2); } else { $amount_paid_curr = Tools::ps_round($amount_paid, 2); } $amount_paid = Tools::ps_round($amount_paid, 2); $cart = new Cart((int) $id_cart); $total_ps = (float)$cart->getOrderTotal(true, Cart::BOTH); if ($amount_paid_curr > $total_ps+0.10 || $amount_paid_curr < $total_ps-0.10) { $total_ps = $amount_paid_curr; } Hier wird gerundet, was das Zeug hält, und die Logik scheint dabei irgendwie auf der Strecke zu bleiben. Link to comment Share on other sites More sharing options...
s.kick Posted June 11, 2019 Share Posted June 11, 2019 On 6/7/2019 at 3:20 PM, Wuschel said: Das Modul stammt übrigens nicht von Paypal selbst, sondern vom französischen Entwickler 202ecommerce, der für solche Bugs seit Jahren berüchtigt ist. Hier hat man wohl aus der Not, etwas ändern zu müssen, eine Tugend gemacht. Die User sollen lieber unsinnige Einstellungen wählen. Der Casus knacktus scheint die folgende Funktion in der paypal.php zu sein Naja, aber es wird immerhin mit "offiziell" betitelt ... Ansonsten schon Mal danke für die schnelle Antwort. Wenn ich das aber richtig sehe, geht es hier um die Verifikation der Zahlung, durch Vergleich des Preises, den der Shop errechnet hat und den Preis, der an PayPal gezahlt wurde. Sprich die ganze Funktion wird erst aufgerufen, wenn der Kunde von PayPal zurückkommt. Zwar ist das der Grund für die Fehlermeldung an den Kunden, dennoch entsteht der eigentliche Fehler ja schon früher bei der Übergabe der Zahlungsinformationen an PayPal. Dabei muss, so wie ich das bisher in Erfahrung bringen konnte, entweder ein richtig gerundeter Preis übergeben werden, wenn das Rundungsproblem durch das Modul entsteht und/oder PayPal angewiesen werden, dass keine Einzelstückangaben ausgewertet werden sollen, wenn das Problem auf der Seite von PayPal liegt. Sprich die ganze Bestellung müsste als ein Produkt verarbeitet werden, so dass nur die Gesamtsumme gerundet wird. Bisher konnte ich noch nicht rausfinden, wo das gemacht wird, dabei bin ich aber auch schon über die von dir angesprochene Funktion gestoßen, wobei da jedoch bei mir der korrekte Rundungsmodus von Prestashop verwendet wird. Link to comment Share on other sites More sharing options...
Wuschel Posted June 11, 2019 Share Posted June 11, 2019 (edited) Gerundet wird in diesem Modul leider ausgiebig. Vielleicht wirst du ja eher in der Klasse PaypalCapture.php fündig oder in der ApiPaypalPlus.php. Ich bin mir aber nicht mal sicher, ob das eigentliche Problem nicht Rundungsfehler in Presstashop selbst sind, denn Paypal rundet nicht mathematisch, sondern kaufmännisch - schau mal hier: Edited June 11, 2019 by Wuschel (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now