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):
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:
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