PAYONE-GmbH / shopware-5

PAYONE Payment Plugin for shopware 5
MIT License
10 stars 24 forks source link

Fehler bei Orderstatusupdates von netto-Bestellungen #42

Closed JensPetersRhiem closed 7 years ago

JensPetersRhiem commented 7 years ago

Hallo PAYONE Support, das PAYONE Payment Plugin für Shopware erzeugt in der Version 3.4.0_5908 auf Shopware 5.2.9 einen Fehler.

Der Fehler stellt sich wie folgt dar:

Bei einem unserer Kunden können B2B-Kunden im Shop in netto bestellen (s_order.net = 1). Wenn ein Benutzer nun im Backend den Bestellstatus dieser Bestellung ändert, werden die Preise der Positionen neu berechnet. Bei jeder Statusänderung steigt der Preis. Dies betrifft auch Bestellungen, die gar nicht mit einer PAYONE-Zahlungsart getätigt wurden (z.B. Vorkasse).

Sobald man das PAYONE Payment Plugin deaktiviert, lassen sich Statusupdates ohne falsche Preisberechnungen durchführen.

Wir benötigen hier dringend einen Bugfix, da in den betroffenen Shops unserer Kunden keine Bearbeitung der Bestellungen mehr möglich ist.

Danke, Jens Peters

fjbender commented 7 years ago

Reproduzierbar.

@Fatchip-Support: Bitte schaut mal.

SDJeff commented 7 years ago

Hier ist die Stelle für den Fehler:

/engine/Shopware/Plugins/Community/Frontend/MoptPaymentPayone/Subscribers/BackendOrder.php Zeile 84: $orderDetail['price'] = round($orderDetail['price'] * ( 1 + ($orderDetail['taxRate'] /100)), 2);

Es darf auf keinen Fall der Preis nachträglich in der Tabelle geändert werden, da auch in der Preisstufe EK Kunden netto berechnet werden kann, obwohl das Land Deutschland generell $order['taxFree'] = 1; Das heißt der IF schlägt fehl und Shopware speichert in der getList Eure veränderte Daten in der s_order_details erneut bei jeder Statusänderung der Bestellung. Somit erhöht sich die Position jedesmal um den Betrag + 19%.

JensPetersRhiem commented 7 years ago

Vielen Dank für den Zwischenstand.

Wann ist mit einem Bugfix zu rechnen?

fjbender commented 7 years ago

Mit f4d10c703f60b924df7693706bcbfe6f7c3743a1 gefixt.