Zum Hauptinhalt springen
Bankdaten werden im Shop an zwei Stellen erfasst: im Kundenkonto unter Bankverbindungen und im Bestellprozess, wenn der Käufer per Lastschrift zahlt. Beide Wege führen auf dasselbe Template ws_bank_manage.htm, ergänzt um Tags, die auch auf der Bestellübersicht ws_place_order.htm zur Verfügung stehen. Die Tags mit dem Präfix BANK- gliedern sich in fünf Gruppen:
  • Datenfelder wie Kontoinhaber, IBAN oder Bankleitzahl, jeweils mit einer Familie von Suffixen für Eingabefeld, Beschriftung und Fehler.
  • Gespeicherte Bankverbindungen, also Schleife, Auswahlliste und die Frage, ob mehrere Konten erlaubt sind.
  • Navigation und Aktionen, also die Links zum Anlegen, Ändern und Löschen.
  • Seitenzustände, die bestimmen, welcher Teil des Templates gerade gezeigt wird.
  • SEPA, also Mandatstyp, Mandatsnummer und die maskierte IBAN für das Mandats-PDF.

Das Gerüst der Verwaltungsseite

Das Template zeigt je nach Zustand entweder die Übersicht der gespeicherten Konten oder das Eingabeformular. Diese beiden Zustände schließen einander aus.
Ob die Seite aus dem Kundenkonto oder aus dem Bestellprozess aufgerufen wurde, unterscheiden Sie mit BANK-Mode_Manage und BANK-Mode_Order. Die Unterscheidung brauchen Sie vor allem für die Schaltflächen am Ende des Formulars, denn im Bestellprozess geht es danach weiter zur Bestellung, im Kundenkonto zurück zur Übersicht.

Die Datenfelder

Acht Felder bilden eine Bankverbindung ab. Jedes davon folgt demselben Muster: Der Tag-Name ohne Suffix liefert den Wert, die Suffixe liefern alles, was ein vollständiges Eingabefeld sonst noch braucht.

Die Suffixe

Keines dieser Tags ist ein Schleifen-Tag. Zulässig sind sie auf ws_bank_manage.htm und ws_place_order.htm.

Welche Kombination es gibt

Nicht jedes Feld hat jedes Suffix. Die folgende Übersicht zeigt, welche Kombinationen dokumentiert sind. Die IBAN hat zusätzlich das Suffix _fillin, siehe den Abschnitt zu SEPA.

Ein vollständiges Eingabefeld

_error gibt als Einzel-Tag die Zeichenfolge _error aus und sonst nichts. Dadurch lässt es sich direkt an einen Klassennamen anhängen: Aus class="eingabe~BANK-Owner_error~" wird im Fehlerfall class="eingabe_error". Der negative Bereich von _error und _errortext greift in zwei Fällen: beim ersten Aufruf des Formulars, also vor dem Absenden, und nach einer erfolgreichen Prüfung. Er eignet sich deshalb für eine Erfolgsmeldung, aber nicht als Aussage “dieses Feld ist geprüft und in Ordnung”.
Ein leeres Pflichtfeld löst denselben Fehler aus wie eine falsche Eingabe. _error unterscheidet beides nicht. Die genauere Auskunft steckt im Fehlertext, der je nach Prüfung unterschiedlich ausfällt.

Die Auswahllisten

BANK-Country_list erzeugt eine Auswahlliste mit den Ländern der Bank. BANK-Bank_list verhält sich je nach Datenlage unterschiedlich:
Gestalten Sie den Bereich um BANK-Bank_list deshalb so, dass er in allen drei Fällen trägt. Eine feste Beschriftung “Bitte wählen Sie Ihre Bank” passt nicht, wenn dort am Ende ein Eingabefeld steht.

Gespeicherte Bankverbindungen

BANK-Data

Als Einzel-Tag die Anzahl der Bankverbindungen, als Bereichs-Tag die Klammerung um die Liste, als Schleife ein Durchlauf je Bankverbindung. Als einziges Tag dieser Gruppe ist es in allen Templates zulässig.

BANK-Position

Gibt die laufende Nummer innerhalb der Schleife aus.

BANK-BankSelection

Der Bereich wird angezeigt, wenn gespeicherte Bankdaten zur Auswahl stehen. Innerhalb dieser Klammerung bauen Sie die Auswahlliste aus der Schleife über BANK-Data.
Vier Suffixe gehören dazu:
Diese vier Suffix-Tags funktionieren ausschließlich innerhalb der positiven Klammerung {BANK-BankSelection}. Außerhalb sind sie ungültig. Dasselbe gilt für die Datenfeld-Tags, die Sie in der Auswahlliste anzeigen.

BANK-AccountSelected

Der Bereich wird angezeigt, wenn der Käufer eine gespeicherte Bankverbindung ausgewählt hat. Der negative Bereich greift, wenn keine ausgewählt wurde oder keine zur Verfügung steht.

BANK-MultipleDataInput und BANK-SingleDataInput

Diese beiden Tags unterscheiden, ob der Käufer mehrere Bankverbindungen speichern kann oder nur eine einzige eingibt.
Der Unterschied hängt am Kundenkonto: Mehrere Bankverbindungen kann nur speichern, wer angemeldet ist. Ein Gastbesteller gibt seine Daten einmalig ein, deshalb greift bei ihm BANK-SingleDataInput.

BANK-MultipleDataInputSelection

Die Auswahlliste der gespeicherten Bankverbindungen auf der Bestellübersicht.

BANK-SavedIndex

Gibt den Index der Bankverbindung aus, die mit der letzten Aktion gespeichert oder aktualisiert wurde. Der Bereich greift nur, wenn tatsächlich gespeichert wurde.
Gebraucht wird das Tag vor allem im Abo-Modul, um nach dem Anlegen einer Bankverbindung zurück zur Produktdetailansicht zu leiten und dabei die neue Verbindung mitzugeben.

BANK-ExternalID

Gibt die externe Kennung der Bankverbindung aus, also die Kennung aus einem angebundenen Fremdsystem. Liefert den Link zum Anlegen einer neuen Bankverbindung. Als Bereichs-Tag greift es nur, wenn eine neue Verbindung angelegt werden darf.
Liefert den Link zum Bearbeiten der Bankverbindung. Als Bereichs-Tag greift es nur, wenn sie bearbeitet werden darf.
Beide Links gehören in ihre Klammerung. Ob geändert oder neu angelegt werden darf, entscheidet der Shop, und ein Link auf eine verbotene Aktion führt ins Leere. BANK-OverviewLink führt zurück zur Übersicht der Bankverbindungen, BANK-ToOrderLink bricht die Eingabe ab und führt zurück auf ws_place_order.htm.

Löschen

Für das Löschen gibt es zwei Wege, mit und ohne Sicherheitsabfrage.
BANK-DeleteBankNoConfirm löscht ohne Rückfrage. Verwenden Sie den Weg über BANK-ConfirmDelete und BANK-DeleteBankConfirm, wenn die Bankverbindung nicht mit einem Fehlklick verschwinden soll.
Die negativen Bereiche der beiden Delete-Tags sind für eine Fehlermeldung gedacht, wenn das Löschen nicht möglich war. Der positive Bereich von BANK-DeleteBankConfirm ist dagegen die Erfolgsmeldung nach dem Löschen. Die beiden Tags haben also je nach Form eine andere Bedeutung.

Seitenzustände

Diese sechs Tags sind reine Bereichs-Tags und bestimmen, welcher Teil des Templates gerade greift. Als Einzel-Tag ist keines verwendbar. Die beiden Schritte trennen die Eingabe der Kontodaten von ihrer Bestätigung. Welche Felder in welchem Schritt stehen, entscheiden Sie im Template. Beide Bereiche gehören in dasselbe Formular.

SEPA

BANK-SEPAMode

Der Bereich wird angezeigt, wenn der SEPA-Modus aktiv ist, also auf on oder test steht. Der negative Bereich greift bei off.

BANK-SEPADirectMandateType()

Ohne Parameter gibt das Einzel-Tag den Typ des Mandats aus. Mit Parameter prüfen Sie einen bestimmten Typ.
Der negative Bereich kehrt die jeweilige Aussage um. {!BANK-SEPADirectMandateType(0)} greift also, wenn ein Mandat vorliegt, gleich welcher Art.

BANK-SEPALastDirectMandate

Gibt die zuletzt verwendete Mandatsnummer aus.

BANK-NoSEPABankDataExists

Der Bereich wird angezeigt, wenn für diesen Kunden Kontodaten vorliegen, die nicht dem SEPA-Format entsprechen, also noch mit Kontonummer und Bankleitzahl statt mit IBAN und BIC. Damit weisen Sie Bestandskunden darauf hin, dass sie ihre Bankverbindung auf IBAN umstellen sollten, bevor die alten Daten nicht mehr verwendbar sind.

BANK-IBAN_fillin

Gibt die IBAN teilweise maskiert aus, in der Form DE123456______123.
  • Mindestens fünf Zeichen werden maskiert.
  • Am Anfang bleiben bis zu zwölf Zeichen im Klartext.
  • Am Ende bleiben drei Zeichen im Klartext.
  • Die Länge der eingegebenen IBAN bleibt erhalten.
Dieses Tag ist ausschließlich für die SEPA-Mandats-PDFs vorgesehen, also für die Templates, die in der shop.config im Abschnitt <CustomerMail> unter SEPACustomerPDFTemplate und SEPACompanyPDFTemplate eingetragen sind, beispielsweise pdf_sepa_customer.htm und pdf_sepa_company.htm. Verwenden Sie es nicht als allgemeine Maskierung auf Shopseiten.

Verwandte Themen