Mindestbestellwert bei Kreditkartenzahlung

Thema wurde von M+D, 13. Oktober 2014 erstellt.

  1. M+D

    M+D Erfahrener Benutzer

    Registriert seit:
    1. September 2014
    Beiträge:
    209
    Danke erhalten:
    2
    Danke vergeben:
    73
    Hallo zusammen,
    kann ich irgendwo hinterlegen, dass Kreditkarten erst ab einem bestimmen Warenwert akzeptiert werden? Ich meine das schon mal irgendwo im Admin gesehen zu haben, finde es aber nicht wieder.
     
  2. Anonymous

    Anonymous Erfahrener Benutzer
    Mitarbeiter

    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.760
    Danke erhalten:
    1.748
    Danke vergeben:
    137
    Hallo,

    so ganz generell geht das nicht, nein. Aber Zahlungsmodule können jeweils für sich „entscheiden“, ob sie zur Auswahl stehen wollen, d.h. bei einzelnen Modulen kann prinzipiell so einen Mindestbestellwert geben.

    Über welches Zahlungsmodul wickelst du Kreditkartenzahlungen denn ab?
     
  3. M+D

    M+D Erfahrener Benutzer

    Registriert seit:
    1. September 2014
    Beiträge:
    209
    Danke erhalten:
    2
    Danke vergeben:
    73
    Hallo Marco und danke für die schnelle Antwort.

    Mein Zahlungsanbieter ist Paymill. Allerdings gibt es gerade auch noch son paar Probleme, aber der Support ist informiert und kümmert sich.

    Ja genau das meinte ich auch, habe aber bei meinen Zahlungsmethoden diese Möglichkeit garnicht. Weder bei PP, noch die anderen.
     
  4. M+D

    M+D Erfahrener Benutzer

    Registriert seit:
    1. September 2014
    Beiträge:
    209
    Danke erhalten:
    2
    Danke vergeben:
    73
    Die Problemchen mit Paymill sind beseitigt (super support!). Nun müsste ich nur noch wissen, wo ich die Einstellungen zum Mindestbestellwert für Kreditkarten ändern kann.
     
  5. Anonymous

    Anonymous Erfahrener Benutzer
    Mitarbeiter

    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.760
    Danke erhalten:
    1.748
    Danke vergeben:
    137
    Vielleicht habe ich mich missverständlich ausgedrückt: Man kann solche Mindestbestellwerte grundsätzlich relativ einfach implementieren. Aber ob es implementiert ist und wie man das einstellt, ist vom Zahlungsmodul abhängig.

    Paymill ist mir jetzt gerade mal gar nicht vertraut, da müsstest du dich mal an den Ersteller des Moduls wenden. Bei PayPal kann man shopseitig nicht erkennen, ob da eine Kreditkarte, Lastschrift, PayPal-Guthaben oder sonstwas verwendet wird.
     
  6. andreasvolkmann

    andreasvolkmann Erfahrener Benutzer

    Registriert seit:
    28. September 2013
    Beiträge:
    58
    Danke erhalten:
    6
    Danke vergeben:
    10
    Meines Wissens kann man da nichts einstellen. Wir haben uns für SEPA-Lastschriften auch einen MBW gewünscht (aber nicht bekommen...)

    Schlußendlich haben wir die Moduldatei (in unserem Fall includes/modules/payment/sepa.php) genommen und modifziert. Ist nicht Updatesicher, aber für uns genügt es.

    Code:
        function update_status()
        {
            global $order;
    
            $check_order_query = xtc_db_query("select count(*) as count from " .  TABLE_ORDERS . " where customers_id = '" .  (int)$_SESSION['customer_id'] . "'");
            $order_check = xtc_db_fetch_array($check_order_query);
    
            if($order_check['count'] < MODULE_PAYMENT_SEPA_MIN_ORDER)
            {
                $check_flag = false;
                $this->enabled = false;
            }
            else
            {
                $check_flag = true;
    
                if(($this->enabled == true) && ((int)MODULE_PAYMENT_SEPA_ZONE > 0))
                {
                    $check_flag = false;
                    $check_query = xtc_db_query("select zone_id from " .  TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" .  MODULE_PAYMENT_SEPA_ZONE . "' and zone_country_id = '" .  (int)$order->billing['country']['id'] . "' order by zone_id");
                    while($check = xtc_db_fetch_array($check_query))
                    {
                        if($check['zone_id'] < 1)
                        {
                            $check_flag = true;
                            break;
                        }
                        elseif($check['zone_id'] == $order->billing['zone_id'])
                        {
                            $check_flag = true;
                            break;
                        }
                    }
                }
                if($check_flag == false)
                {
                    $this->enabled = false;
                }
            }
    /***********************/
           if (($_SESSION['cart']->total < 20))
           {
              $this->enabled = false;
              $check_flag = false;
           }
           else
           {
              $check_flag = true;
           }
    /***********************/
        }
    
    
    Obiges Beispiel ist aus der V 2.1.2.0, aber in den vorherigen Versionen sieht das ähnlich aus. Der in /*...*/ eingeschlossene Teil ist die Modifikation, die hier die Zahlungsart erst ab einem Warenwert von 20,- Euro zulässt.

    Gruß, Andreas

    PS.: Ich weis, das geht eleganter, aber ich wollte es funktionierend...
     
  7. M+D

    M+D Erfahrener Benutzer

    Registriert seit:
    1. September 2014
    Beiträge:
    209
    Danke erhalten:
    2
    Danke vergeben:
    73
    Hallo Andreas,

    viele Dank für diese Lösung! Habt ihr den Code einfach zusätzlich eingetragen, oder eine Zeile modifiziert? Bei mir hat die ganze php einen länge von 324 Zeilen. Könnte ich den Code einfach am Ende einfügen?

    Danke und Gruß
    Petra
     
  8. andreasvolkmann

    andreasvolkmann Erfahrener Benutzer

    Registriert seit:
    28. September 2013
    Beiträge:
    58
    Danke erhalten:
    6
    Danke vergeben:
    10
    Hallo Petra,

    der obige Code ersetzt die Funktion update_status(), einfach am Ende anfügen, funktioniert nicht.

    Je nach Zahlartmodul kann die Funktion auch ganz anders aussehen; es geht jeweils um den Teil, der von /* */ eingeschlossen ist. Dieser muss an besagter Stelle eingefügt werden.

    Gruß, Andreas
     
  9. M+D

    M+D Erfahrener Benutzer

    Registriert seit:
    1. September 2014
    Beiträge:
    209
    Danke erhalten:
    2
    Danke vergeben:
    73
    Hallo Andreas,

    vielen Dank für deine Mühe. Da mir das doch ein bisschen zu heikel ist und Paymill mich gefragt hat, ob sie etwas für mich tun können, habe ich das mal weitergeleitet. Mal sehen, ob der Support auch solche Sachen erledigt ;-)