PayPal Rundungsfehler führt zu Betrugsverdacht

Leider haben viele Magento-Shops das Problem, das Magento und PayPal die Preise unterschiedlich darstellen/berechnen. Nachlesen kann man die Probleme im Magento Forum unter dem Topic Probleme mit Paypal <-> Bestellbetrag oder Probleme mit PayPal –> Suspected Fraud.

Problemerklärung zum PayPal Rundungsfehler

Das Runden in Magento ist nicht wie oft geschrieben falsch, sondern lediglich auf Grundlage einer bestimmten Berechnungsmethode. Magento nutzt das sogenannte summenerhaltende Runden. Infos dazu findet man unter http://de.wikipedia.org/wiki/Rundung#Summenerhaltendes_Runden. Magento hat beispielsweise einen Betrag von 29,99 Euro ermittelt, PayPal errechnet mit Hilfe der Netto-Preise aber 30,00 Euro. Ist dies der Fall meldet Magento eine Fehlermeldung wie folgt:

[code]]czo5ODpcIklQTiBcIkNvbXBsZXRlZFwiLiBPcmRlciBpcyBzdXNwZW5kZWQgYXMgaXRzIGNhcHR1cmUgYW1vdW50IDI5LDk5IOKCrCBpc3tbJiomXX0gc3VzcGVjdGVkIHRvIGJlIGZyYXVkdWxlbnQuXCI7e1smKiZdfQ==[[/code]

PayPal Rundungsfehler beheben

Es gibt mehrere Möglichkeiten dem PayPal Rundungsfehler den Garaus zu machen. Die erste Möglichkeit ist in der Datei
/ app / code / local / Mage / Core / Model / Store.php
die Rundung von 2 auf 4 Stellen zu erweitern. Dazu den Code in folgenden ändern:

public function roundPrice($price)
{
return round($price, 4);
}

Allerdings kann es bei der Übermittlung zu PayPal weiterhin zu Problemem kommen.

Eine andere Möglichkeit ist, wenn man nicht selbst programmieren möchte, eine Modul zu installieren. Das Modul überschreibt einen Block von Mage_Paypal um die gerundeten Werte der Bestellung zu ändern. Zudem deaktiviert es die Funktionalität, Bestell-Aufträge mit PayPal zurückerstatten zu können. Eine Read Me Anleitung und die Dateien sind auf Github unter PaypalRoundBugfix bereit gestellt worden.

Und zu guter letzt bliebe noch eine dritte Möglichkeit, den PayPal Rundungsfehler zu beheben. Dazu muss im Magento Backend unter System -> Konfiguration -> Verkäufe -> PayPal -> Website Payments Standard Einstellungen -> Artikel des Warenkorbs übertragen auf Nein setzen. Dann werden nicht mehr die einzelnen Artikel übertragen, sondern nur der Endbetrag. Der Kunde hat dann zwar nicht mehr eine schöne Übersicht über die einzelnen Produkte, aber wer den Fehler abstellen möchte, sollte damit leben können.

Autor

Sebastian

Ich interessiere mich für eCommerce-Themen, vor allem im Zusammenhang mit dem Shopsystem Magento Commerce sowie alles rund um Web-Entwicklung und den damit verbundenen Möglichkeiten.

6 Kommentare zu “PayPal Rundungsfehler führt zu Betrugsverdacht

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*