Rabatte auf Zahlungsarten

© 2007 Estelco

1. BACKUP MACHEN!!!

2. Dateien kopieren

includes/modules/order_total/ot_payment.php
lang/english/modules/order_total/ot_payment.php
lang/german/modules/order_total/ot_payment.php

3. Anpassungen an Dateien

Wenn schon bei der Zahlungsauswahl der entsprechende Rabatt angezeigt werden soll, muss dieser Code in alle betroffenen Zahlungsmodule integriert werden. Wir zeigen dies hier am Beispiel der moneyorder.php, es ist aber quasi für alle Module sehr ähnlich, es ist immer die Funktion selection! Für andere Module natürlich den korrekten Namen in der Funktion get_percent anstelle von 'moneyorder' eintragen!

ca. Zeile 68

	function selection() {
		return array ('id' => $this->code, 'module' => $this->title, 'description' => $this->info);
	}
ändern in
function selection() {
		return array ('id' => $this->code, 'module' => $this->title, 'description' => $this->info, 'module_cost' => $GLOBALS['ot_payment']->get_percent('moneyorder'));
	}
soll statt der Prozente der tatsächliche Betrag angezeigt werden, dann ändern in
function selection() {
		return array ('id' => $this->code, 'module' => $this->title, 'description' => $this->info, 'module_cost' => $GLOBALS['ot_payment']->get_percent('moneyorder', 'price'));
	}

includes/modules/order_total/ot_shipping.php

Leider wird in diesem Modul unnötigerweise gerundet, was im Zusammenhang mit diesem Modul zu Rundungsfehlern von einem Cent führen kann. Wer dieses Problem nicht haben möchte, muss folgende Anpassung vornehmen:

ca. Zeile 64 und 77

$tax = $xtPrice->xtcFormat($tax,false,0,true);
auskommentieren
//$tax = $xtPrice->xtcFormat($tax,false,0,true);

4. Bedienung

Installation

Nach dem kopieren der Dateien steht das Modul im Adminbereich unter "Zusammenfassung" zur Verfügung.

Sollen mehr Rabattstaffeln möglich sein (Standard sind 3), muss vor der Installation in allen Dateien der Wert der Variable $num (Sprachdateien) bzw. $this->num (Moduldatei) auf den gewünschten Wert geändert werden.
Eine nachträgliche Erhöhung erfordert einer Deinstallation/Installation des Moduls oder Eingriff per Datenbank!

Felder Rabattstaffel

Hinweis: entscheidend für die Ländercodes ist die Lieferanschrift. Soll ein Rabatt/Zuschlag für alle Länder gelten, so ist entweder 00 als Code zu verwenden oder die Ländercodeangabe ganz zu unterlassen (inklusive dem "|")!

Für Rabatte folgende Notation verwenden:

   DE|100:4,200:5

Bedeutung:

Für Kunden aus Deutschland wird ab 100€ ein Rabatt von 4%, ab 200€ ein Rabatt von 5% gewährt.

   100:2,200:3

Bedeutung:

Für Kunden aus allen Ländern wird ab 100€ ein Rabatt von 2%, ab 200€ ein Rabatt von 3% gewährt.

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 (alle restlichen Länder immer als letztes) und das "Mehrfachberechnung" auf "false" steht, sonst werden beide Zuschläge berechnet.

Beispiel für Festbeträge

   0:0&-2

Bedeutung:

Für Kunden aus allen Ländern wird ab 0€ (also immer) ein Aufschlag von 0% (also kein prozentualer Aufschlag) zuzüglich 2,00€ (der feste Aufschlag) berechnet.

Felder Zahlungsart

In die Felder den internen Code der Zahlungsart eintragen, z.B. moneyorder für Vorkasse oder cod für Nachnahme.

Viel Spass damit...