Templateshop - Eine große Auswahl an neuen und modernen Templates für die modified eCommerce Shopsoftware
Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Bestellen ohne Auswahl einer Zahlweise

    Archetim

    • Mitglied
    • Beiträge: 133
    Bestellen ohne Auswahl einer Zahlweise
    am: 19. Februar 2013, 10:15:17
    Hallo Zusammen

    seit ein paar Wochen kommen bei uns Bestellungen an, die als Zahlweise "no_payment" ausgewiesen haben.
    Ich konnte nun das Problem auch im aktuellen Demo-Shop nachstellen.

    Man bucht ein Guthaben auf und legt einen Artikel in den Warenkorb. Bei der Auswahl der Zahlweise genügt es, die Checkbox anzuklicken, damit das Guthaben für die Bestellung herangezogen wird. Obwohl das Guthaben die Kosten nicht abdeckt - d.h. ein Restbetrag wäre noch zu zahlen - kann man zum Checkout weitergehen - siehe Screenshot im Anhang.

    Meiner Meinung nach liegt es an der Stelle in der "checkout_confirmation.php"
    Code: PHP  [Auswählen]
    // load the selected payment module
    require_once (DIR_WS_CLASSES . 'payment.php');
    if (isset ($_SESSION['credit_covers']) || !isset($_SESSION['payment'])) { //DokuMan - 2010-10-14 - check that payment is not yet set, SP1b
            $_SESSION['payment'] = 'no_payment'; // GV Code Start/End ICW added for CREDIT CLASS
    }
    $payment_modules = new payment($_SESSION['payment']);
     

    Obwohl die Variable "credit_covers" nicht gesetzt ist, wird durch die oder-Anweisung "no_payment" gesetzt.
    Es gibt einen Block der im SP1b geändert wurde, der meiner Meinung nach diesen Fall abfangen würde.

    Code: PHP  [Auswählen]
    // GV Code line changed , SP1b
    //if ((is_array($payment_modules->modules) && (sizeof($payment_modules->modules) > 1) && (!is_object($$_SESSION['payment'])) && (!isset ($_SESSION['credit_covers']))) || (is_object($$_SESSION['payment']) && ($$_SESSION['payment']->enabled == false))) {
    if ((is_array($payment_modules->modules) && (sizeof($payment_modules->modules) > 1) && (!isset($$_SESSION['payment']) || !is_object($$_SESSION['payment'])) && (!isset($_SESSION['credit_covers']))) || (isset($$_SESSION['payment']) && is_object($$_SESSION['payment']) && ($$_SESSION['payment']->enabled == false))) {
            xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode(ERROR_NO_PAYMENT_MODULE_SELECTED), 'SSL'));
    }
     

    Ich teste das gerade und berichte über meine Versuche. Sollte eventuell jemand eine Idee haben, so würde ich mich um jede Hilfe freuen.

    Danke im Vorraus.

    Nachtrag:

    Wenn man im Block

    Code: PHP  [Auswählen]
    if(isset($_SESSION['payment']) && $_SESSION['payment'] != 'no_payment') { //web28 - 2012-04-27 - fix for coupon amount == order total
      if ((is_array($payment_modules->modules) && (sizeof($payment_modules->modules) > 1) && (!is_object($$_SESSION['payment'])) && (!isset ($_SESSION['credit_covers']))) || (is_object($$_SESSION['payment']) && ($$_SESSION['payment']->enabled == false))) {
        xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode(ERROR_NO_PAYMENT_MODULE_SELECTED), 'SSL'));
      }
    }
     

    das "!=" zu einem "==" ändert, funktioniert alles.
    Code: PHP  [Auswählen]
    if(isset($_SESSION['payment']) && $_SESSION['payment'] == 'no_payment') { //web28 - 2012-04-27 - fix for coupon amount == order total
      if ((is_array($payment_modules->modules) && (sizeof($payment_modules->modules) > 1) && (!is_object($$_SESSION['payment'])) && (!isset ($_SESSION['credit_covers']))) || (is_object($$_SESSION['payment']) && ($$_SESSION['payment']->enabled == false))) {
        xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode(ERROR_NO_PAYMENT_MODULE_SELECTED), 'SSL'));
      }
    }
     

    Aber ich habe noch nicht getestet, welche Seitenfeekte das haben könnte.



    Linkback: https://www.modified-shop.org/forum/index.php?topic=24856.0

    karabey

    • Schreiberling
    • Beiträge: 320
    • Geschlecht:
    Re: Bestellen ohne Auswahl einer Zahlweise
    Antwort #1 am: 22. Februar 2013, 16:46:57
    Das Problem habe ich auch festgestellt und ist nicht NUR an den Guthaben oder Coupons gebunden. Der Kunde kann bestellen wenn sogar keine Zahlungsart definiert ist.

    web28

    • modified Team
    • Beiträge: 9.404
    Re: Bestellen ohne Auswahl einer Zahlweise
    Antwort #2 am: 23. Februar 2013, 13:17:26
    Für Coupons kann ich das im aktuellen 1.06 Demoshop nicht bestätigen, wenn der Couponwert nicht ausreicht wird ganz normal die Zahlungsauswahl angezeigt.

    Mit Gutschein/Guthaben habe ich aber nicht getestet

    Archetim

    • Mitglied
    • Beiträge: 133
    Re: Bestellen ohne Auswahl einer Zahlweise
    Antwort #3 am: 24. Februar 2013, 13:18:43
    @karabey: Ich bin mir auch noch nicht sicher, ob es nur am Guthaben liegt. Aber eine andere Stelle habe ich noch nicht gefunden. Da es auch nicht reproduzierbar auftaucht, könnte es auch eine nicht initialisierte Variable sein. Aber ich programmiere erst seit 5 Jahren. Bin also absolut kein Profi.

    @web28: Im Screenshot sieht man das Ergebnis aus dem aktuellen Demo-Shop, wenn man ein Guthaben aufbucht. Cupons habe ich nicht getestet.

    Bis jetzt zumindestens sind keine Bestellungen mehr mit "no_payment" angekommen. Da die aber nicht regelmäßig oder nachvollziehbar erscheinen, ist es auch noch zu Früh zu sagen, das Problem wäre bei uns gelöst.

    Ich wäre für jeden Denkanstoß dankbar.

    Grüße an alle

    madeby

    • Neu im Forum
    • Beiträge: 20
    • Geschlecht:
    Re: Bestellen ohne Auswahl einer Zahlweise
    Antwort #4 am: 19. März 2013, 17:01:18
    Das Problem habe ich auch festgestellt und ist nicht NUR an den Guthaben oder Coupons gebunden. Der Kunde kann bestellen wenn sogar keine Zahlungsart definiert ist.

    Ist bei mir auch vorgekommen!

    Wie kann dass sein und vor allem was kann man dagegen tun?

    gruss Roger

    Archetim

    • Mitglied
    • Beiträge: 133
    Re: Bestellen ohne Auswahl einer Zahlweise
    Antwort #5 am: 23. März 2013, 09:03:52
    Hallo Zusammen,

    da aktuell noch jemand das Problem mit "no_payment" hat, ein Nachsatz.
    Seit der Änderung im ersten Beitrag, sind bei uns keine Bestellungen mehr aufgetreten, die "no_payment"  als Zahlweise haben.

    Grüße
    Rene

    swisshurricane

    • Fördermitglied
    • Beiträge: 69
    Re: Bestellen ohne Auswahl einer Zahlweise
    Antwort #6 am: 05. April 2013, 18:45:33
    Hi,

    Ich habe folgende Zahlungsweisen aufgesetzt:

    - Vorauskasse
    - Rechnung (minimum Orders 1)
    -> Somit kann ein Neukunde die erste Bestellung nur per Vorauskasse tätigen.

    Das funktioniert soweit seit Jahren gut.

    Allerdings gibt es ein Problem sobald Jemand Firefox mit dem no script addon verwendet.
    Dann kann man bestellen (checkout_payment.php) ohne eine Zahlungsweise auszuwählen.

    Hat Jemand eine Idee wie man das korrigieren kann?

    Gruss
    Harry

    andreaswien

    • Fördermitglied
    • Beiträge: 290
    • Geschlecht:
    Re: Bestellen ohne Auswahl einer Zahlweise
    Antwort #7 am: 07. Oktober 2013, 21:56:19
    Hatte soeben das erste Mal auch dieses "no_payment" Problem. Ich habe jetzt jedenfalls die Kundin gefragt wie sie zahlen wollte und was passiert ist. Da sie schon öfters bestellt hat bin ich jetzt leicht verwirrt was wirklich los ist.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.006
    • Geschlecht:
    Re: Bestellen ohne Auswahl einer Zahlweise
    Antwort #8 am: 07. Oktober 2013, 23:02:02
    Habe gerade im Demoshop nachgestellt:
    Bei deaktiviertem Javascript kann man ohne Auswahl einer Zahlungsweise auf die checkout_confirmation gehen.

    Ich bin auch der Meinung, daß diese Zeile in der /checkout_confirmation.php
    Code: PHP  [Auswählen]
    if(isset($_SESSION['payment']) && $_SESSION['payment'] != 'no_payment') { //web28 - 2012-04-27 - fix for coupon amount == order total

    so lauten muß
    Code: PHP  [Auswählen]
    if(isset($_SESSION['payment']) && $_SESSION['payment'] == 'no_payment') { //web28 - 2012-04-27 - fix for coupon amount == order total

    denn weiter oben wird definiert
    Code: PHP  [Auswählen]
    if (isset ($_POST['payment']))
      $_SESSION['payment'] = xtc_db_prepare_input($_POST['payment']);

    und
    Code: PHP  [Auswählen]
    if (isset ($_SESSION['credit_covers']) || !isset($_SESSION['payment'])) { //DokuMan - 2010-10-14 - check that payment is not yet set
      $_SESSION['payment'] = 'no_payment'; // GV Code Start/End ICW added for CREDIT CLASS
    }
    $payment_modules = new payment($_SESSION['payment']);
    was bedeutet,
    daß ohne eine ausgewählte Zahlart ($_POST['payment']) not "setted" ist
    und folglich $_SESSION['payment'] == 'no_payment' ist.

    Das ist ein Bug.

    Gruß,
    noRiddle

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.373
    • Geschlecht:
    Re: Bestellen ohne Auswahl einer Zahlweise
    Antwort #9 am: 08. Oktober 2013, 09:31:46
    Wir haben das bereits in Ticket #36 festgehalten.

    Grüße

    Torsten

    andreaswien

    • Fördermitglied
    • Beiträge: 290
    • Geschlecht:
    Re: Bestellen ohne Auswahl einer Zahlweise
    Antwort #10 am: 08. Oktober 2013, 10:20:51
    Danke!
    Wie ist dann die beste Vorgehensweise derzeit? Den Kunden zu bitten die Bestellung nochmals durchzuführen und die Zahlungsart nicht zu vergessen?
    Im konkreten Fall hatte ich eben Glück, da die Kundin schon öfters bestellt hatte und ich sie auf Rechnung beliefere, also kein Herumhantieren mit paypal bzw. Kreditkarteneingabe.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.006
    • Geschlecht:
    Re: Bestellen ohne Auswahl einer Zahlweise
    Antwort #11 am: 08. Oktober 2013, 11:56:18
    Was gefällt dir an der von mir geposteten Lösung nicht ?, zumindest als vorübergehenden Fix ?
    Mit Coupons und Gutscheinen usw. habe ich noch nicht getestet und müsste mich da erst reindenken.

    Jedenfalls ist mit dem von mir geposteten Mini-Fix auch bei deaktiviertem Javascript ein Überspringen der Zahlungsart nicht mehr möglich (ohne Coupons/Guthaben/Gutschein).

    Gruß,
    noRiddle

    andreaswien

    • Fördermitglied
    • Beiträge: 290
    • Geschlecht:
    Re: Bestellen ohne Auswahl einer Zahlweise
    Antwort #12 am: 08. Oktober 2013, 12:28:00
    dass ich zu blöd war und das irgendwie nicht so richtig mitbekommen habe?
    Probiere es gleich aus, danke schon mal1

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.006
    • Geschlecht:
    Re: Bestellen ohne Auswahl einer Zahlweise
    Antwort #13 am: 08. Oktober 2013, 12:44:13
    Nur zur Info:
    Wenn du's ausprobierst, mit deaktiviertem Javascript.
    Einmal ohne Fix und einmal mit Fix.
    Dann könntest du auch meine Tests bestätigen ;-).

    Gruß,
    noRiddle

    andreaswien

    • Fördermitglied
    • Beiträge: 290
    • Geschlecht:
    Re: Bestellen ohne Auswahl einer Zahlweise
    Antwort #14 am: 08. Oktober 2013, 14:42:30
    noRiddle, super! Besten Dank!
    Du weißt, dass in Wien schon einige Biere auf dich warten wenn Du mal herkommst :)
    12 Antworten
    5799 Aufrufe
    10. Juli 2010, 10:11:08 von xsnoobx
    1 Antworten
    2507 Aufrufe
    12. September 2009, 16:08:53 von mantis
    6 Antworten
    4999 Aufrufe
    31. März 2011, 08:44:42 von Tomcraft
               
    anything