Problem in Ajax-Checkout

  • Ich nutze ein Kreditkartenmodul von EOS-Payment.
    Im alten Checkout funktioniert das ohne Probleme.
    Wenn ich den Ajax-Checkout aktiviere kann ich die Zahlungsart auswählen, aber als Einzige nicht speichern.

    • Offizieller Beitrag

    Suche in dem neuen Modul:

    Code
    function pre_confirmation_check(){


    ersetzte mit:

    Code
    function pre_confirmation_check($vars=''){        if (is_array($vars) && !empty($vars)) {          $data_arr = $vars;          $is_ajax = true;        } else {          $data_arr = $_POST;        }

    Innerhalb der Funktion alle $_POST, $_REQUEST und $HTTP_POST_VARS durch $data_arr ersetzen, also zB. anstatt $_POST['cc_number'] - $data_arr['cc_number']

    Am Ende der Funktion findet meist eine Weiterleitung via der XTC-FUnktion xtc_redirect statt, wenn ein Error aufgetreten ist (zB weil nicht alle Felder korrekt ausgefüllt sind):


    Code
    xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, $payment_error_return, 'SSL', true, false));


    -- Diese Zeile muss mit einer If-Abfrage umhüllt/ersetzt werden:


    Code
    if ($is_ajax) {
                    $_SESSION['checkout_payment_error'] = $payment_error_return;
                } else {
                            xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, $payment_error_return, 'SSL', true, false));
                }

    Du kannst Dich auch an den Novalnet Modulen orientieren.

    <p>Wir geben nur Anregungen und Hilfestellung auf Basis unserer Erfahrung, keine Rechtshilfe!<br>\m/('_')\m/</p>

    • Offizieller Beitrag

    Dann wird Dir wohl nichts anderes übrig bleiben, als den "alten" Checkout zu verwenden. Das Problem hatte ich kürzlich auch bei Heidelpay, da funktioniert es auch nur mit dem alten Checkout (Craditcard), da die ein iframe verwenden.

  • Na, so ein Sch...
    Gerade das ist ein Entscheidungskriterium für den Shop.
    Denn bei den vielen Bestellseiten des Std-Checkout springen viele Kunden ab. Zumal der Versand bei uns eh kostenlos und die Seite somit unnütz ist.