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: ot_payment und Gutscheinkauf falsche Berechnung

    MoHo

    • Fördermitglied
    • Beiträge: 117
    ot_payment und Gutscheinkauf falsche Berechnung
    am: 18. Dezember 2013, 17:59:56
    Ich nutze ot_payment für Aufschläge bei Zahlung mit PayPal (1,9%+0,35).
    Der Kunde hat einen Gutschein über 50€ mit PayPal bezahlt, es werden aber nur die 0,35€ aufgeschlagen?
    Kennt einer das Problem?

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

    MoHo

    • Fördermitglied
    • Beiträge: 117
    Re: ot_payment und Gutscheinkauf falsche Berechnung
    Antwort #1 am: 22. Dezember 2013, 23:21:56
    Ich habe es im Demo Shop noch mal getestet, es geht da auch nicht. Hat einer eine Idee?

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: ot_payment und Gutscheinkauf falsche Berechnung
    Antwort #2 am: 23. Dezember 2013, 03:39:14
    Verkehrte Syntax im ot_payment-modul ?
    So müsste es aussehen für Deutschland:
    DE|0:-1.9&-0.35
    so international
    00|0:-3.4&-0.35

    Auszug aus der Anleitung:
    Zitat
    Legende:

    blau: Ländercode
    grün: Betrag ab welchem Auf- oder Abschlag ausgeführt werden soll
    rot: Auf- oder Abschlag

    Für Zuschläge folgende Notation verwenden:

        DE|100:-3

    Bedeutung:
    Für Kunden aus Deutschland wird ab 100€ ein Aufschlag von 3% berechnet.

    Beispiel für Paypal:

    1. Rabattstaffel

        DE|0:-1.9&-0.35

    2. Rabattstaffel

         00|0:-3.4&-0.35

    Bedeutung:
    Für Kunden aus Deutschland wird ab 0€ (also immer) ein Aufschlag von 1,9% zuzüglich 0,35€ berechnet.
    Für Kunden aus allen restlichen Ländern (00=alle) wird ab 0€ ein Aufschlag von 3,4% zuzüglich 0,35€ berechnet.
    Wichtig ist hier die Reihenfolge der Einträge (zuerst Einschränkungen auf einzelne Länder und alle restlichen Länder immer als letztes) und, daß "Mehrfachberechnung" auf "false" steht, sonst werden beide Zuschläge berechnet.

    Gruß,
    noRiddle

    MoHo

    • Fördermitglied
    • Beiträge: 117
    Re: ot_payment und Gutscheinkauf falsche Berechnung
    Antwort #3 am: 23. Dezember 2013, 13:39:44
    Hallo noRiddle,
    an der Syntax liegt es nicht, die ist genau so wie du es beschreibst und bei allen anderen Produkten wird es auch meistens richtig berechnet.
    Nur bei Gutscheinen (GIFT_) wird der % Aufschlag nicht berechnet, sondern nur der feste Betrag von 0,35€

    Ein anderes Problem, welches aktuell aber nicht ganz so wichtig ist, ist dass die Gebühr nach dem Land Berechnet wird, wohin die Ware verschickt wird. PayPal berechnet aber nach dem Land wo die Gebühr bezahlt wird. So liegt der Aufschlag bei Bestellungen aus der Schweiz, die sich die Ware nach Deutschland schicken lassen, immer zu niedrig.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: ot_payment und Gutscheinkauf falsche Berechnung
    Antwort #4 am: 23. Dezember 2013, 14:13:55
    Da ich selbst nur einen Demo-Shop habe und mit dem Modul eigtl. nicht arbeite,
    könntest du den Fehler bitte melden ?
    => Moderator informieren
    unter deinem Post

    Gruß,
    noRiddle

    MoHo

    • Fördermitglied
    • Beiträge: 117
    Re: ot_payment und Gutscheinkauf falsche Berechnung
    Antwort #5 am: 23. Dezember 2013, 14:19:03
    Jo gemacht, danke.
    Gruß,...
    Heiko

    web28

    • modified Team
    • Beiträge: 9.404
    Re: ot_payment und Gutscheinkauf falsche Berechnung
    Antwort #6 am: 23. Dezember 2013, 17:47:58
    Das Modul ist nicht speziell für Paypal sondern für alle Zahlungsarten.

    Das mit der Gutschein Aufschlagnichtberechnung wird geprüft.

    DerNachbar

    • Viel Schreiber
    • Beiträge: 538
    Re: ot_payment und Gutscheinkauf falsche Berechnung
    Antwort #7 am: 23. Dezember 2013, 23:57:09
    Vielleicht liegt es daran, das man eine Währung gegen die andere tauscht? Also EURO gegen Hauswährung (Gutschein)?

    MoHo

    • Fördermitglied
    • Beiträge: 117
    Re: ot_payment und Gutscheinkauf falsche Berechnung
    Antwort #8 am: 24. Dezember 2013, 12:01:08
    Klar, im Prinzip es das ot_payment Modul unabhängig von der Zahlungsart, funktioniert aber nicht mit den Gutscheinen.

    Ich vermute mal, dass es ggf. beabsichtigt ist Gutscheine von Rabatten auszunehmen ist. Mir geht es aber um die Kosten, die ich durch die Zahlungsart bekomme und PayPal ist es egal was ich kaufe.

    Eventuell steck es ja in diesen Zeilen vom (includes/modules/order_total/ot_payment.php), nur bin ich kein php Profi :-(
    Code: PHP  [Auswählen]
        function xtc_order_total()
        {
            global $order;
           
            $this->amounts['total'] = 0;

            $order_total = $order->info['total'];

            // Check if gift voucher is in cart and adjust total
            $products = $_SESSION['cart']->get_products();
            for ($i=0; $i<sizeof($products); $i++) {
                $t_prid = xtc_get_prid($products[$i]['id']);
                $gv_query = xtc_db_query("select products_price, products_tax_class_id, products_model from " . TABLE_PRODUCTS . " where products_id = '" . $t_prid . "'");
                $gv_result = xtc_db_fetch_array($gv_query);
                $qty = $_SESSION['cart']->get_quantity($products[$i]['id']);
                $products_tax = xtc_get_tax_rate($gv_result['products_tax_class_id']);
                if (!isset($this->amounts[(string)$products_tax])) {
                  $this->amounts[(string)$products_tax] = 0;
                }
                if (substr($gv_result['products_model'], 0, 4) == 'GIFT') {
                    if ($this->include_tax =='false') {
                        $gv_amount = $gv_result['products_price'] * $qty;
                    } else {
                        $gv_amount = ($gv_result['products_price'] + xtc_calculate_tax($gv_result['products_price'],$products_tax)) * $qty;
                    }
                    $order_total -= $gv_amount;
                } else {
                    $this->amounts[(string)$products_tax] += $gv_result['products_price'] * (int)$qty;
                    $this->amounts['total'] += $gv_result['products_price'] * $qty;
                }
            }
            if ($this->include_shipping == 'false') $order_total -= $order->info['shipping_cost'];
            if ($this->include_tax == 'false') $order_total -= $order->info['tax'];

            $this->amount = $order_total;
        }
     

    web28

    • modified Team
    • Beiträge: 9.404
    Re: ot_payment und Gutscheinkauf falsche Berechnung
    Antwort #9 am: 24. Dezember 2013, 14:44:59
    Gutscheine (GIFT) werden tatsächlich aus der Brechnung entfernt, damit soll verhindert werden das auf Gutscheine rabattiert werden.
    Hier müsste ein Zusatz rein das zwar Rabatte verboten bleiben, Aufschläge aber nicht.
    Desweiteren müsste man ein Option zur Auswahl der Berechnungsgrundlage (Zahlungsadresse, Versandadresse) einbauen.
    Ich habe dafür ein Ticket für die übernächste Version angelegt. Wer das früher benötigt muss sich das programmieren lassen.

    Gruss Web28

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: ot_payment und Gutscheinkauf falsche Berechnung
    Antwort #10 am: 24. Dezember 2013, 16:16:15
    In dem Zusammenhang wundert mich folgender Code-Abschnitt in /checkout_payment.php:
    Code: PHP  [Auswählen]
    if ($order->billing['country']['iso_code_2'] != '' && $order->delivery['country']['iso_code_2'] == '') {
    $_SESSION['delivery_zone'] = $order->billing['country']['iso_code_2'];
    } else {
    $_SESSION['delivery_zone'] = $order->delivery['country']['iso_code_2'];
    }

    Warum wird in $_SESSION['delivery_zone'] der ISO-Code des Landes der Rechnungsadresse gespeichert wenn der der Versandadresse leer ist.
    In welchem Fall kann die Versandadresse überhaupt leer sein ?
    Könnte mich da jemand aufklären ?
    Benutzt wird $_SESSION['delivery_zone'], soweit ich das sehen konnte, ja lediglich für die Überprüfung ob die Delivery-Zone in den $unallowed_zones ist, um eben nur die Zahlungsmethoden anzuzeigen die für das jeweilge Land erlaubt sind (und dabei sollte sich das doch eigtl. dann auf die Rechnungsadresse (= $order->billing['country']) beziehen ?).

    Gerade für PayPal übrigens, wenn man mittels ot_payment die PayPal-Gebühren dem Kunden auferlegen möchte, ist das Land in dem gezahlt wird für die Gebührenhöhe entscheidend, nicht das Land der Lieferadresse (auch wenn diese in der Praxis oft identisch sind).

    Gruß,
    noRiddle
    10 Antworten
    4382 Aufrufe
    14. August 2013, 10:46:00 von metatron
    2 Antworten
    3742 Aufrufe
    04. April 2010, 20:20:10 von Tomcraft
    1 Antworten
    2542 Aufrufe
    21. Oktober 2010, 17:04:37 von Tomcraft
               
    anything