Modulshop - Eine große Auswahl an neuen und hilfreichen Modulen 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: Module: Klarna Rechnung - Fix für gestaffelte Rechnungsgebühren

    DerFlow

    • Frisch an Board
    • Beiträge: 52
    Moin,

    hab jetzt ein paar Stunden an dem Module Klarna Rechnung gearbeitet. Grundsätzlich bietet das Module an gestaffelt Rechnungsgebühren zu verwenden. Bspw: bis 100€ Rechnungsbetrag  5€ Gebühren, bis 500€ 10€ Gebühren.

    Leider wertet das Module in der Version wie Klarna dies anbietet die Gestaffelten Rechnungsgebühren nicht aus. Nach einigem hin und her hab ich dafür einen Fix. Dieser sieht wie folgt aus:

    Find in der Datei "/includes/modules/klarna/klarnautils.php" (am Ende der Datei):

    Code: PHP  [Auswählen]
            switch (strtolower($order->delivery['country']['iso_code_2'])) {
                case "se":
                    $od_amount = MODULE_KLARNA_FEE_FIXED_SE;
                    break;
                case "dk":
                    $od_amount = MODULE_KLARNA_FEE_FIXED_DK;
                    break;
                case "fi":
                    $od_amount = MODULE_KLARNA_FEE_FIXED_FI;
                    break;
                case "no":
                    $od_amount = MODULE_KLARNA_FEE_FIXED_NO;
                    break;
                case "de":
                    $od_amount = MODULE_KLARNA_FEE_FIXED_DE;
                    break;
                case "nl":
                    $od_amount = MODULE_KLARNA_FEE_FIXED_NL;
                    break;
                default:
                    break;
            }

    und ersetze es durch:

    Code: PHP  [Auswählen]
    if (MODULE_KLARNA_FEE_MODE == 'fixed') {
                            switch (strtolower($order->delivery['country']['iso_code_2'])) {
                                    case "se":
                                            $od_amount = MODULE_KLARNA_FEE_FIXED_SE;
                                            break;
                                    case "dk":
                                            $od_amount = MODULE_KLARNA_FEE_FIXED_DK;
                                            break;
                                    case "fi":
                                            $od_amount = MODULE_KLARNA_FEE_FIXED_FI;
                                            break;
                                    case "no":
                                            $od_amount = MODULE_KLARNA_FEE_FIXED_NO;
                                            break;
                                    case "de":
                                            $od_amount = MODULE_KLARNA_FEE_FIXED_DE;
                                            break;
                                    case "nl":
                                            $od_amount = MODULE_KLARNA_FEE_FIXED_NL;
                                            break;
                                    default:
                                            break;
                            }
                    }
                    else {
                            $fee_table = "";

                switch (strtolower($order->customer['country']['iso_code_2'])) {
                    case "se":
                        $fee_table = MODULE_KLARNA_FEE_TABLE_SE;
                        break;
                    case "dk":
                        $fee_table = MODULE_KLARNA_FEE_TABLE_DK;
                        break;
                    case "fi":
                        $fee_table = MODULE_KLARNA_FEE_TABLE_FI;
                        break;
                    case "no":
                        $fee_table = MODULE_KLARNA_FEE_TABLE_NO;
                        break;
                    case "de":
                        $fee_table = MODULE_KLARNA_FEE_TABLE_DE;
                        break;
                    case "nl":
                        $fee_table = MODULE_KLARNA_FEE_TABLE_NL;
                        break;
                    default:
                        $fee_table = null;
                        $this->enabled = false;
                        break;
                }
                           
                $table = preg_split("/[:,]/", $fee_table);
                $size = sizeof($table);
                for ($i = 0, $n = $size; $i < $n; $i+=2) {
                    if ($order->info['total'] <= $table[$i]) {
                        $od_amount = $table[$i + 1];
                        break;
                    }
                }                  
                    }

    Dann noch im Backend im Rechnungsmodule von Klarna (Modules -> Zusammenfassung -> Klarna Rechnungsgebühr) die Staffelung eintragen.

    Fertig :]

    Linkback: https://www.modified-shop.org/forum/index.php?topic=20190.0
    Modulshop - Eine große Auswahl an neuen und hilfreichen Modulen für die modified eCommerce Shopsoftware

    jannemann

    • modified Team
    • Beiträge: 6.275
    • Geschlecht:
    Guten Abend, DerFlow,

    herzlichen Dank fürs Teilen!  :thumbs:
    Das können sicherlich noch andere aus dem Forum gebrauchen.

     :thx:

    Schöne Grüße,
    Jan

    DerFlow

    • Frisch an Board
    • Beiträge: 52
    Joa deshalb dachte ich stell ich es mal rein. Hab hier bisher nur mitgelesen, aber man soll ja im OS-Bereich auch mal was an die Gemeinschaft zurück geben  :-)

    Werd die Tage ggf. noch die einen oder anderen Kleinigkeiten zur verfügung stellen.

    So long, sonnigen Freitag allen =]
    Managed Server
    7 Antworten
    5374 Aufrufe
    20. Mai 2014, 11:14:55 von chono
    45 Antworten
    54851 Aufrufe
    06. Dezember 2011, 17:27:03 von theBochumer
    1 Antworten
    2919 Aufrufe
    01. Mai 2011, 13:45:13 von happyhour