Weiter Fehler im Checkout mit Gutschein

  • Hallo Admin, wenn der Kunde im Checkout den Gutschein aktiviert ist alles in Ordnung.:) Jetzt entscheidet der Kund sich plötzlich anders un möchte das Guthaben doch nicht verwenden, er nimmt das Häckchen wieder raus. Trotzdem wird der Gutschein verbucht. Nimmt er das Häckchen wieder raus und drückt Strg+F5 dann funktioniert es aber.

  • ist immernoch so, wie ist da der stand ?

    dazu habe ich jetzt ncoh das problem, dass ich guthaben (ja guthaben, also type "G") mal versendne woltle, da spuckt er mir den hier aus :

    Fatal error: Uncaught exception 'SmartyException' with message 'Unable to load template file 'cseov22-black-fluid/mail/german/send_gift_to_friend.html'' in /kunden/xxxxxxxxxxxxx/webseiten/xxxxxxx_staging/includes/classes/Smarty_3/sysplugins/smarty_internal_templatebase.php:127 Stack trace: #0 /kunden/xxxxxxxxxxxxxx/webseiten/xxxxxxxxxxxxx_staging/gv_send.php(136): Smarty_Internal_TemplateBase->fetch('cseov22-black-f...') #1 {main} thrown in /kunden/xxxxxxxxxxxxxxxx/webseiten/xxxxxxxxxxx_staging/includes/classes/Smarty_3/sysplugins/smarty_internal_templatebase.php on line 127


    er, also die gv_send.php, sucht noch im mail/german/-ordner des templates welches es ja nichtmehr gibt obwohl die emailvorlage "guthaben an freund versenden" im BE ja bereits vorhanden ist, war das nicht schon behoben ?

    Mit besten Grüßen

    Mario

    Einmal editiert, zuletzt von mbraune (13. Dezember 2012 um 19:43)

  • ich hab nochwas : gib mal einen ungültigen couponcode ein, also abgelaufen z.b. oder maximale verwendung erreicht usw und versuch dann `n checkout (lässt sich auf dem demoshop nachstellen)

    die ot_coupn leitet dich zunächst mal weiter auf die checkout_payment, egal ob 1page checkout oder nicht, zudem bleibt der ungültige code in der session wodurch für den User ein checkout unmöglich wird solange er keinen zweiten, gültigen couponcode hat, da es m.E. noch keine Möglichkeit für den User gibt, den ungültigen Code wieder zu entfernen(!?).

    meine Lösung mfür check 1page ja/nein und entfernen der ungültigen cc_id hier :

    in includes/modules/order_total/ot_coupon (aus aktuellem v2 powerpack)

    function collect_posts() {
    global $xtPrice;

    if ($_SESSION['cc_id'] != '') {

    // INFOS ÜBER KUPON AUSLESEN
    $coupon_query = xtc_db_query("select coupon_type, coupon_start_date, coupon_expire_date, coupon_minimum_order, coupon_id, uses_per_user, uses_per_coupon from " . TABLE_COUPONS . " where coupon_id = '" . (int) $_SESSION['cc_id'] . "' and coupon_active = 'Y' limit 1");
    $coupon_result = xtc_db_fetch_array($coupon_query);

    //total10 Quickfix Redirect-QF: bisher keinerlei Überprüfung auf 1-Pagecheckout vorhanden, ungültige Codes führen den User aktuell immer auf die checkout_payment,
    //zudem gibt es für den Kunden keine Möglichkeit mehr, den ungültigen Code zu entfernen , wir löschen daher die $_SESSION['cc_id'] wenn der eingegebene Code ungültig ist, Ausnahme bei Nichterreichen des Mindestbestellwerts.
    if (CHECKOUT_AJAX_STAT=='true') {
    $t10_checkout_destination = FILENAME_CHECKOUT;
    } else {
    $t10_checkout_destination = FILENAME_CHECKOUT_PAYMENT;
    }


    if ($coupon_result['coupon_type'] != 'G') {

    // ERROR : LAUFZEIT HAT NOCH NICHT BEGONNEN
    if ($coupon_result['coupon_start_date'] > date('Y-m-d H:i:s')) {
    unset($_SESSION['cc_id']);
    xtc_redirect(xtc_href_link($t10_checkout_destination, 'error_message=' . urlencode(ERROR_INVALID_STARTDATE_COUPON), 'SSL'));
    }

    // ERROR : LAUFZEIT BEENDET
    if ($coupon_result['coupon_expire_date'] < date('Y-m-d H:i:s')) {
    unset($_SESSION['cc_id']);
    xtc_redirect(xtc_href_link($t10_checkout_destination, 'error_message=' . urlencode(ERROR_INVALID_FINISDATE_COUPON), 'SSL'));
    }

    // ERROR : MINDESTBESTELLWERT NICHT ERREICHT
    if ($coupon_result['coupon_minimum_order'] > $_SESSION['cart']->show_total()) {
    xtc_redirect(xtc_href_link($t10_checkout_destination, 'info_message=' . urlencode(ERROR_MINIMUM_ORDER_COUPON_1 . ' ' . $xtPrice->xtcFormat($coupon_result['coupon_minimum_order'], true) . ' ' . ERROR_MINIMUM_ORDER_COUPON_2), 'SSL'));
    }

    // ERROR : GESAMTES VERWENDUNGSLIMIT ÜBERSCHRITTEN
    $coupon_count = xtc_db_query("select coupon_id from " . TABLE_COUPON_REDEEM_TRACK . " where coupon_id = '" . $coupon_result['coupon_id'] . "'");
    if (xtc_db_num_rows($coupon_count) >= $coupon_result['uses_per_coupon'] && $coupon_result['uses_per_coupon'] > 0) {
    unset($_SESSION['cc_id']);
    xtc_redirect(xtc_href_link($t10_checkout_destination, 'error_message=' . urlencode(ERROR_INVALID_USES_COUPON . $coupon_result['uses_per_coupon'] . TIMES), 'SSL'));
    }

    // ERROR : VERWENDUNGSLIMIT FÜR EINZELNEN KUNDEN ÜBERSCHRITTEN
    $coupon_count_customer = xtc_db_query("select coupon_id from " . TABLE_COUPON_REDEEM_TRACK . " where coupon_id = '" . $coupon_result['coupon_id'] . "' and customer_id = '" . (int) $_SESSION['customer_id'] . "'");
    if (xtc_db_num_rows($coupon_count_customer) >= $coupon_result['uses_per_user'] && $coupon_result['uses_per_user'] > 0) {
    unset($_SESSION['cc_id']);
    xtc_redirect(xtc_href_link($t10_checkout_destination, 'error_message=' . urlencode(ERROR_INVALID_USES_USER_COUPON . $coupon_result['uses_per_user'] . TIMES), 'SSL'));

    }
    }
    }
    }