Hey,
bei aktiviertem 1 page checkout gibt es ein massives Problem : Die eingetragenen Bankdaten werden teilweise nicht übermittelt, d.h. man hat dann eine Bestellung auf Lastschrift ohne die nötigen Daten diese auch einzuziehen - das Problem betrifft alle V2 und V2.1 Shops, der Fehler ist im Demoshop nachvollziehbar.
Folgendes passiert: die Lastschriftdaen werden ja nicht in der Session gespeichert sondern nach Klick auf den Speichern Button nur als "checkout_hiddens" im Formular hinterlegt. DasProblem : wenn der Kunde einen ANDEREN speichern Button als den bei den Zahlungsmodulen drückt, also z.B. Versandart, aber genauso Abweichende Lieferadresse etc, NACHDEM er den Speichernbutton gedrückt hat, werden die Checkout_hiddens zurückgesetzt und die Bestellung wird durchgeführt, wie gesagt OHNE Lastschriftdaten!
Also nochmal kurz zusammengefasst : so ist alles ok:
Kunde klickt erst auf den Versandart speichern-Button
Kunde gibt bankdaten ein und klickt bezahlart speichern-Button
Kunde klickt auf bestellen -> alles ok
So gehts schief (und das kommt oft vor...) :
Kunde wählt Zahlart aus, gibt Bankdaten ein und drückt speichern
Kunde sucht sich erst anschließend die Versandart aus und drückt speichern -Bankdaten weg, checkout aber möglich
ODER
Kunde wählt alternative Liefer/Rechnungsadresse-> ebenfalls Bankdaten weg
usw usw (bei anschließender verwendung von Gutscheincodes gehten die Dateh ebenfalls verloren)
Meinn Quickfix :
includes/xajax.checkout.php
Alle vorkommen folgender Zeile (AUSSER die in der updatePaymentModule() Funktion! ) auskommentieren.
also z.B.um Zeile 260 innerhalt der updateShippingModule
document.getElementById('checkout_hiddens').innerHTML = '$payment_button';
auskommentieren da hierdurch bei klick auf den Speicherbutton die Bankdaten gelöscht werden (die Variable payment_button ist in dieserFuntkion nämlich leer)
Die Zeile kommt noch mehrfach vor, z.B. bei usGVund den Funktionen zum aktualisieren der Shippingoder billing-adress, dort am besten ebenfalls rausnehmen.
Wie gesagt, das ist nur ein Quickfix, eleganter wäre es wohl, wenn die Daten in der in der Session abgelegt würden bzw man das problem an EINER stelle (banktransfer.php)löst und nicht an X stellen in der xajax.checkout.php wie hier von mir vorgesschloagen.
Wie gesagt, derFehler ist jederzeit in eurem Testshop nachvollziehbar, und es ist ein ziemlich heftiger, es wäre also schön,. wenn ihr dies im nächstenQF berücksichtigen könntet!
Mit besten Grüßen aus Hamburg
Mario