Moinsen,
keine Ahnung, wie ich sonst dazu etwas suchen soll, aber ich wurde jedenfalls nicht fündig. Das Szenario ist eine eingehende Bestellung, die mit “gesicherten Rechnungskauf” über Heidelpay bezahlt wird, damit hat es aber nur indirekt zu tun. Entscheidend dabei ist, dass es einen Mindest-Einkaufswert dieser ZA von 25 € gibt und die Bestellung hatte einen Gesamtwert von 26,50 € (22,- + 4,50 Versand). Somit wurde im Shop auch korrekterweise Rechnung als ZA angeboten und der Kunde konnte bestellen. Das dürfte auch der “Normalfall” sein und alles weitere ist für viele Shopbetreiber uninteressant.
Nun kommt aber doch das Heidelpay-Modul (D3) ins Spiel, wodurch es die Möglichkeit gibt, Bestellungen im Backend zu finalisieren. Dies klappt jedoch nicht bei solchen Rechnungs-Bestellungen, die kleiner als 29,50 € (25,- + 4,50) sind, weil angeblich keine Zahlungsart hinterlegt sei. Und tatsächlich fehlt diese auch im Stamm-Reiter der jeweiligen Bestellung, sodass automatisch “oxempty” gewählt wird. Nun ist der Verdacht, dass das Heidelpay-Modul dieselbe OXID-Logik nutzt und daher in diesen Fällen zu einem Backend-Fehler führt. Deswegen stehe ich jedoch bereits mit D3 in Kontakt, und es ließe sich sicherlich auch irgendwie lösen.
Die Frage ist aber nun: warum wird zur Prüfung der gültigen ZAs einer Bestellung im Shop mit, und im Admin ohne Versand gerechnet? Konkret meine ich die Zeile 82 der order_main.php (OXID 4.10.8) oder Zeile 69 in OrderMain.php (OXID 6.1.2):
$dPrice = $oOrder->oxorder__oxtotalbrutsum->value / $oOrder->oxorder__oxcurrate->value;
Wenn man die durch diese ersetzt:
$dPrice = $oOrder->oxorder__oxtotalordersum->value / $oOrder->oxorder__oxcurrate->value;
dann würden die ZA-Prüfungen identische Ergebnisse liefern, aber gibt es evtl. einen trifftigen Grund, warum dies gerade nicht der Fall ist? Also kurzum: Bug oder Feature?
Danke + beste Grüße