Zum Hauptinhalt springen
Ein regionaler Lieferdienst fährt nur ein begrenztes Gebiet an. Im Shop soll er deshalb nur dann als Versandart erscheinen, wenn die Lieferadresse in diesem Gebiet liegt. Bezahlt wird bar bei der Übergabe, also braucht der Lieferdienst eine eigene Zahlungsart, die genau an diese eine Versandart gekoppelt ist. Das Gebiet wird über eine Liste von Postleitzahlen beschrieben. Das Beispiel verwendet die Postleitzahlen von Nürnberg. Regionallieferdienst

Wo die Postleitzahl geprüft wird

Die Prüfung gehört an die Versandart, nicht an die Zahlungsart. Die Zahlungsart bleibt ohne Einschränkung und steht jedem Käufer zur Auswahl. Wählt er sie und liegt seine Lieferadresse außerhalb des Gebiets, bleibt wegen der Kopplung über DelivererID-List keine Versandart übrig, und die Bestellung lässt sich nicht abschließen. Der Grund für diese Aufteilung liegt in den beiden Prüfmechanismen:
Prüfen Sie die Postleitzahl zusätzlich an der Zahlungsart, schließen Sie Käufer aus, deren Rechnungsadresse außerhalb des Gebiets liegt, deren Lieferadresse aber darin. Das trifft genau die Fälle, für die ein regionaler Lieferdienst besonders attraktiv ist, beispielsweise ein Geschenk an jemanden vor Ort.Wie Sie es trotzdem einrichten, steht unten im Abschnitt zur zusätzlichen Prüfung der Rechnungsadresse.

Schritt 1: Die Zahlungsart anlegen

Verwenden Sie einen der fünf freien Zahlungsart-Abschnitte in der shop.config. Die Zahlungsart bekommt keine Einschränkung, nur die Kopplung an die Versandart.
DelivererID-List ist der Angelpunkt des Beispiels. Ohne diesen Parameter bliebe dem Käufer außerhalb des Gebiets eine andere Versandart, und er könnte die Barzahlung an einen Lieferdienst wählen, der gar nicht zu ihm fährt. Referenz: Abschnitt PaymentUserDef1…5-Txt

Schritt 2: Die Regel für das Liefergebiet definieren

Die Postleitzahlen stehen im Abschnitt <DelivererAddressDependencies-Definitions>, der in der shop.config nur einmal vorkommen darf.
Der Wert hinter Value muss in einer Zeile stehen. Eine umbrochene Liste wird nur bis zum Zeilenende gelesen, der Rest fällt stillschweigend weg. Das Liefergebiet wäre dann kleiner als gedacht, ohne dass eine Meldung darauf hinweist.
Input = delivaddress prüft die Lieferadresse. Verwendet der Käufer keine abweichende Lieferadresse, prüft WEBSALE V8s stattdessen die Rechnungsadresse. Sie brauchen dafür keinen zweiten Abschnitt.onlydelivaddress verhält sich anders und trifft ohne eigene Lieferadresse nie zu. Für diesen Anwendungsfall ist es die falsche Wahl.
Type = inlist prüft auf exakte Übereinstimmung mit einem Eintrag der Liste. Für ganze Postleitzahlenbereiche gibt es keine Platzhalter, die betroffenen Postleitzahlen werden einzeln aufgeführt. Die Länge der Liste ist an dieser Stelle nicht begrenzt. Referenz: Abschnitt DelivererAddressDependencies-Definitions

Schritt 3: Die Versandart anlegen und die Regel zuweisen

Die ID muss mit dem Wert in der DelivererID-List der Zahlungsart übereinstimmen. Mehrere +UseAddressDependency-ID-Zeilen sind und-verknüpft, es müssen also alle zugewiesenen Regeln zutreffen. Referenz: Abschnitt +Deliverer

Schritt 4: Bestellungen ohne Versandart verhindern

Ohne diese Absicherung könnte ein Käufer außerhalb des Liefergebiets die Bestellung abschließen, ohne dass je eine Versandart gewählt wurde.
Referenz: Abschnitt Basic

Schritt 5: Den Käufer auf die Sackgasse hinweisen

Schritt 4 verhindert die fehlerhafte Bestellung, erklärt dem Käufer aber nicht, woran es liegt. Dafür braucht es einen Hinweis. Er gehört auf die Zahlungs- und Versandartenseite ws_pay_deliv.htm und auf die Bestellübersicht ws_place_order.htm.
Die Zahl in der Klammer ist der Code der Zahlungsart. 16 bis 20 stehen für die benutzerdefinierten Zahlungsarten 1 bis 5. Haben Sie in Schritt 1 einen anderen der fünf Abschnitte verwendet, passen Sie die Zahl an allen vier Stellen an.
WS-Delivery greift, wenn eine Versandart gesetzt ist. Für den hier beschriebenen Fall deckt sich das mit “es steht eine zur Auswahl”, weil WEBSALE V8s ersatzweise auf die erste im Warenkorb verwendete Versandart zurückfällt. Prüfen Sie den Hinweis trotzdem einmal mit einer Adresse innerhalb des Gebiets, damit er dort nicht fälschlich erscheint.
Referenz: WS-Delivery · ST-Payment()

Zusätzlich die Rechnungsadresse prüfen

Soll die Zahlungsart schon gar nicht erscheinen, wenn die Rechnungsadresse außerhalb des Gebiets liegt, ergänzen Sie den Unterabschnitt <AddressFilter> in der Zahlungsart. Die Schritte 2 bis 5 bleiben unverändert.
Diese Variante kostet Sie die Fälle mit abweichender Lieferadresse. Dafür sieht ein Käufer außerhalb des Gebiets die Zahlungsart erst gar nicht und läuft nicht in die Sackgasse aus Schritt 5.
Values-List fasst höchstens 256 Zeichen, also ungefähr 42 fünfstellige Postleitzahlen. Längere Listen werden abgeschnitten.Je Zahlungsart sind bis zu fünf <AddressFilter>-Abschnitte erlaubt, und sie sind untereinander oder-verknüpft. Ein größeres Gebiet verteilen Sie deshalb auf mehrere Abschnitte. Auf der Seite der Versandart besteht diese Begrenzung nicht.Der Filter greift nur, wenn das in TechnicalFieldName genannte Adressfeld in Ihrem Shop überhaupt aktiv ist. Ist es das nicht, gilt die Zahlungsart als erlaubt, und zwar ohne Fehlermeldung. Dasselbe gilt, wenn der Käufer das Feld leer gelassen hat.Prüfen Sie nach dem Einrichten einmal mit einer Adresse außerhalb des Gebiets, ob die Zahlungsart tatsächlich verschwindet.
Country-List prüft ebenfalls das Land der Rechnungsadresse. Ohne diesen Parameter würde eine ausländische Postleitzahl, die zufällig in der Liste steht, den Filter passieren. Mit Rule = Deny kehren Sie die Logik um: Die Zahlungsart erscheint dann für alle Werte außer denen in Values-List. Jeder andere Wert als Deny wird als Allow gelesen. Ein einzelner Eintrag * in Values-List trifft auf jeden Wert zu. Greift der Filter, meldet WEBSALE V8s intern den Ablehnungsgrund 19. Über den Abschnitt ShowDisabled-Txt können Sie die Zahlungsart in diesem Fall ausgegraut mit einer eigenen Erklärung anzeigen, statt sie ganz auszublenden. Referenz: Abschnitt AddressFilter · Abschnitt ShowDisabled-Txt

Verwandte Themen