SEPA-Lastschrift: Checkout und Kundenkonto
So läuft SEPA-Lastschrift im Storefront ab: Checkout mit neuem oder bestehendem Mandat, Prüfregeln für IBAN, BIC und Kontoinhaber, Mandatsseite im Kundenkonto und PDF-Download für Kunden und Gäste.
SEPA-Lastschrift: Checkout und Kundenkonto
Live Demo: Teste dieses und weitere Plugins live — ohne Installation, ohne Risiko: demo.markus-michalski.net
Ablauf im Checkout
- Der Kunde wählt die Zahlungsart SEPA-Lastschrift. Darunter erscheinen die Felder des Plugins.
- Er hat noch kein aktives Mandat oder entscheidet sich für neue Bankdaten: Er gibt IBAN, optional BIC und den Kontoinhaber ein (vorbelegt mit Vor- und Nachname), liest den Mandatstext und bestätigt ihn mit "Ich stimme dem SEPA-Lastschriftmandat zu".
- Beim Absenden des Checkouts prüft der Server die Angaben. Fehlt etwas oder ist die IBAN ungültig, wird die Bestellung nicht angelegt.
- Wird die Bestellung angelegt, speichert das Plugin das neue Mandat mit verschlüsselter IBAN und löst das Event
mmd.sepa_payment.mandate.createdaus, siehe Entwickler-API. - Auf der Bestellabschlussseite und in den Bestelldetails steht ein Link zum Mandats-PDF.
Das Plugin zieht den Betrag nicht ein. Es hält nur das Mandat fest, siehe den Hinweis auf der Übersichtsseite.
Bestehendes Mandat verwenden
Hat der eingeloggte Kunde ein aktives Mandat, erscheint im Checkout die vorausgewählte Option "Bestehendes SEPA-Mandat verwenden:" mit maskierter IBAN, Kontoinhaber und Mandatsreferenz. Der Kunde kann sie abwählen und stattdessen neue Bankdaten eingeben.
- Wird das bestehende Mandat verwendet, legt das Plugin kein neues Mandat an und löst kein Event aus.
- Gibt der Kunde neue Bankdaten ein, widerruft das Plugin das bisherige aktive Mandat und legt ein neues an. Ein Kunde hat immer höchstens ein aktives Mandat.
- Gäste sind unterstützt: Auch ein Gastkunde bekommt ein Mandat und kann das PDF herunterladen.
Prüfregeln
| Feld | Regel | Wann geprüft |
|---|---|---|
| IBAN | Leerzeichen und Bindestriche werden entfernt, Großschreibung erzwungen. Danach: 15 bis 34 Zeichen, Format Ländercode + zwei Prüfziffern + alphanumerisch, länderspezifische Länge und Prüfsumme (Modulo 97). | Im Browser (Prüfsumme) und beim Absenden auf dem Server |
| IBAN-Länder | Die 27 EU-Staaten sowie Island, Liechtenstein, Norwegen, Schweiz, Monaco, San Marino, Vatikanstadt und Vereinigtes Königreich. Andere Ländercodes werden abgelehnt. | Server |
| BIC | Optional. Wenn angegeben: 8 oder 11 Zeichen nach ISO 9362. | Server, beim Anlegen des Mandats |
| Kontoinhaber | Pflichtfeld, 2 bis 70 Zeichen. Erlaubt sind Buchstaben A-Z und a-z ohne Umlaute und ß, Ziffern, Leerzeichen sowie / - ? : ( ) . , ' +. |
Leer-Prüfung beim Absenden, die Zeichenprüfung erst beim Anlegen des Mandats |
| Mandatsbestätigung | Die Checkbox muss gesetzt sein. | Server |
Die Zeichenprüfung des Kontoinhabers läuft erst, wenn die Bestellung schon angelegt ist. Ein Name mit Umlaut, zum Beispiel "Müller", führt deshalb zu einer fehlgeschlagenen Zahlung statt zu einer Fehlermeldung am Formular, siehe Fehlerbehebung.
Mandatsseite im Kundenkonto
Eingeloggte Kunden finden in der Seitenleiste des Kundenkontos, direkt unter den Zahlungsarten, den Eintrag SEPA-Lastschriftmandat (Pfad /account/sepa-mandate).
Mit aktivem Mandat zeigt die Seite Mandatsreferenz, maskierte IBAN (zum Beispiel DE89****3000), BIC (wenn vorhanden), Kontoinhaber, Datum der Erteilung und den Status. Der Button Mandat widerrufen fragt nach und widerruft das Mandat. Bei der nächsten Bestellung gibt der Kunde dann neue Bankdaten ein.
Ohne aktives Mandat zeigt die Seite ein Formular Neues SEPA-Lastschriftmandat erteilen mit IBAN, BIC, Kontoinhaber und Zustimmung. Das Mandat entsteht sofort, ohne dass eine Bestellung nötig ist.
Auf der Kundenkonto-Seite prüft nur der Browser, ob die Zustimmung angehakt ist. Der Server wertet das Häkchen nicht aus. Außerdem löst das Anlegen über die Kundenkonto-Seite das Event
mmd.sepa_payment.mandate.creatednicht aus.
Mandats-PDF herunterladen
| Wo | Wer | Zugriff |
|---|---|---|
| Bestellabschlussseite | Kunde oder Gast | Link enthält den deepLinkCode der Bestellung |
| Bestelldetails im Kundenkonto | Eingeloggter Besitzer der Bestellung | Pfad /sepa-mandate/download/{orderId} |
Der Link erscheint nur bei Bestellungen, die mit der Zahlungsart SEPA-Lastschrift bezahlt werden. Wer weder der Besitzer der Bestellung ist noch den passenden deepLinkCode kennt, bekommt eine 404-Antwort, und der Versuch wird im Log festgehalten.
Das PDF enthält die Daten eines Mandats des Kunden, nicht eines einzelnen Auftrags. Beide Downloads laden das Mandat des Kunden ohne Beschränkung auf aktive Mandate und ohne Sortierung. Hat ein Kunde mehrere Mandate, etwa ein widerrufenes und ein neues, ist nicht festgelegt, welches davon im PDF steht. Es kann also auch ein älteres, widerrufenes Mandat sein.
Das PDF zeigt Gläubigerdaten, Kontoinhaber mit vollständiger IBAN, den Mandatstext, die Zahlungsart "Einmalige Zahlung / Wiederkehrende Zahlungen" sowie Datum und Unterschriftszeile. Es ist ein DIN-A4-Dokument in Deutsch oder Englisch entsprechend der Shop-Sprache.