payment modul: banktransfer speichert nicht

  • Hi,

    wie der Titel schon sagt: beim banktransfer (Lastschrift) Standardmodul werden die KOntodaten nicht richtig in der DB gespeichert.
    Habe auch das Problem, daß zwar BLZ und Konto abgeglichen werden, der bankname aber nicht autoausgefüllt wird. Allerdings ist die Option im backend auch "eigentlich" deaktiviert
    Zurück zu Thema, sowohl bei mir, als auch bei nem Kunden der per Lastschrift bestellt hat landet im table banktransfer

    orders_id banktransfer_owner banktransfer_number banktransfer_bankname banktransfer_blz banktransfer_status banktransfer_prz banktransfer_fax
    17 10 NULL


    OrderID (17) und Status (10) werden gespeichert, rest bleibt leer, bzw fax ist NULL. Im Backend wird entsprechend auch nirgends irgendwas zu den Kontodaten ausgegeben.
    Ist zumindest bei mir nicht dringend, da die Lastschriften mittlerweile eh über nen FInanzdienstleiste rgehen, aber eventuell haben ja andere auch das Problem
    Shopversion ist die 2.2.2.1

    Gruß
    SaHiB

    Einmal editiert, zuletzt von SaHiB (6. Dezember 2012 um 13:16)

  • hi nochmal,

    soll jetzt doch nicht übe Finanzdienstleister gehen, darum wird es doch etwas dringend.
    Kleine Zusatzinfo: der Shop nutzt den SinglePage Checkout.

    Frage: nutzt irgendwer Lastschrift in der 2.2.2.1 erfolgreich, dann müsste ich mal gucken, was bei mir nicht stimmt :)

  • Hey SaHiB,

    doch doch, das Problem ist leider so alt wie der OnePageCheckout und poppt immerwiede rmal auf - wir hatten es auch schon ermeintlich gefixt (siehe Link zu meinem "Quickfix" in diesem Beitrag : http://plussupport.commerce-seo.de/showthread.php…ght=lastschrift bzw hier http://plussupport.commerce-seo.de/showthread.php…ght=lastschrift, eigentlich ist der Ansatz auch in die offiziellen QF von webdesign-Erfurt eingeflossen und zumindest in einer mir vorliegenden v2.3 auch so enthalten, hast du mal `nen Link zu deinem Shop, bzw kannst du es "nachstellen", bzw taucht der Fehler nun ganz allgemein IMMEr auf, oder ist es wieder das problem beim Speichern?

    Mit besten Grüßen

    Mario

  • der Shop ist http://www.alex-mundorff.de/de/index.html alelrdings ist lastschrift derzeit deaktivert - bringt ja nichts, wenn man hinterher beim kunden anrufen muss um die Bankverbindung zu erfragen...
    Das Problem trat bei 3 testbestellungen mit verschiedenen usern auf, scheint also reproduzierbar. Allerdings sidn 3 bestellunen jetzt nicht so viel, al daß ich ausschließen könnte, daß es hin und wieder funktioniert. Aber hin udn wieder reicht halt auch nicht :)

    hab mir Deinen Qucikfix angeschaut - der scheint integriert zus ein, nur gehen tut er trotzdem nicht :)
    Werde mal versuchen das BankleitzahlenDingens zu aktivieren und wohl oder übel mal selbst debuggen müssen, ob oder ob nicht die updatePaymentModule aufgerufen wird und die entsprechenden SESSION vars gesetzt werden. Dank Deines Postes, weiß ich ja jetzt grob wo das Modul überall rumpfuscht ;)

  • ok, da liegt der Hund begraben.
    Wenn ich "speichern" klicke, dann landet nichts in der Session:
    $_SESSION[t10lsqf]: array() <-- hier sollten denke ich die Bankdaten drin stehen.

    Im POST wurden folgende Parameter per Ajax übergeben:

    Code
    array(
    ['xajax'] =>'updatePaymentModule'
    ['xajaxr'] =>1355406325143
    ['xajaxargs'] =>array([0] =>'<xjxquery><q></q></xjxquery>')
    )


    Hier sollten wophl Sachen wie banktransfer_blz mit dabei stehen...

    Hab jetzt mal die banktransfer_blz.sql importiert und die entsprechende Funktion im Modul aktiviert - jetzt werden die Daten korrekt übertragen und passende in die $_SESSION['t10lsqf'] gespeichert:

    Damit wäre der 1. Fehler lokalisiert. Gehen tuts aber noch immer nicht.
    Wenn die after_process versucht zu speichern, bedient diese sich der Variblen aus dem objekt.
    $this sieht zu dem zeitpunkt aber so aus:

    Grund hierfür ist widerum daß die before_process die pre_confirmation_check aufruft und der den POST array als parameter übergibt. Darin stecken aber nicht wie gehofft die POST Daten vom Formular, sondern:

    Code
    array(
    ['comments'] =>
    ['comments_added'] =>'YES'
    ['checkout_xajax'] =>1
    ['conditions'] =>'conditions'
    ['revocation'] =>'revocation'
    )

    Hab das jetzt mal ganz pragmatisch in der after_process Z.295 gelöst:

    PHP
    $banktransfer_validation = new AccountCheck;
    $name = $banktransfer_validation->query(trim(str_replace(' ', '', $_SESSION['t10lsqf']['banktransfer_blz'])));
    $this->banktransfer_bankname = $name['bankname'];
    $this->banktransfer_blz = xtc_db_prepare_input($_SESSION['t10lsqf']['banktransfer_blz']);
    $this->banktransfer_number = xtc_db_prepare_input($_SESSION['t10lsqf']['banktransfer_number']);
    $this->banktransfer_owner = xtc_db_prepare_input($_SESSION['t10lsqf']['banktransfer_owner']);
    (...)
    xtc_db_query("INSERT INTO banktransfer (orders_id, banktransf...


    Damit beschreib ich mir die nötigen Daten für den Query an Ort und Stelle mit den Daten aus der Session. Nicht schön, hab aber kein Bock zu suchen, wo unterwegs die POST Daten verloren gehen. Aber Du weißt das doch bestimmt und kannst das leicht "ordentlich" fixen... Wäre shcon schön, wenn so ein Standardmodul wie Lastschrift auch funktioniert.

    Einmal editiert, zuletzt von SaHiB (13. Dezember 2012 um 15:34)

  • Hm, in der aktuellen Version ist das auch behoben. Weiß nicht, warum es bei Dir nicht geht, ist seit v2.2.x schon drin, also theoretisch auch bei Dir. Ich teste es aber noch mal.

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

  • Habe es gerade probiert, läuft OHNE Probleme. Bankdaten eingeben > Speichern > Bestellen. Dann sind die Bankdaten in der Bestellung drinne. Selbst wenn ich mal Vorkasse anklicke und dann wieder Banktransfer + Speichern.

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

  • mhhh, komische sache. Hatte den Shop in aktueller Version runte rgeladen und installiert, später dann
    cseov22_fp1 2.2.1.0
    cseov22_fp2 2.2.2.0
    cseov22_qf2221 2.2.2.1
    installiert. Irgendwo muss ich dann wohl unterwegs nen Fixpack vergessen haben...
    Muss aber auch gestehen, wenn man wie ich, immer nur alle Jubeljahre rein schaut, wenn mal wieder 'n neues Projekt ansteht, ist es verdammt schwer den überblick zu bewahren, welche Fixes man installieren muss. Ich mach ja nur so 3-4 Shops im jahr (zum Glück *g*)
    Dann mal danke für den Support und sorry, falls ich hier wegen ner veralteten Version unruhe rein gebracht habe.