
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 überDelivererID-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:
Schritt 1: Die Zahlungsart anlegen
Verwenden Sie einen der fünf freien Zahlungsart-Abschnitte in dershop.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.
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
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.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 Versandartenseitews_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.
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.
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
- Wegweiser: Zahlungsarten anlegen
- Wegweiser: Versandarten anlegen
- Anwendungsbeispiel: Click and Collect, Abholung statt Zustellung
- Referenz: Versand und Lieferung in der shop.config
