SEPA-Lastschriftzahlungen annehmen
So nehmen Sie SEPA-Lastschriftzahlungen an.
Notiz
Bei der Abwicklung von SEPA-Lastschriftzahlungen mit der Gläubiger-Identifikationsnummer von Stripe empfehlen wir Ihnen, die vorgefertigte Checkout-Seite zu verwenden, um SEPA-Lastschriftmandate einzuholen.
Für die Annahme von SEPA-Lastschriftzahlungen auf Ihrer Website müssen ein Objekt zum Überprüfen von Zahlungen erstellt, Informationen zur Zahlungsmethode und die Mandatsbestätigung erfasst und Zahlungen zur Verarbeitung an Stripe übermittelt werden. Stripe verwendet das Zahlungsobjekt, die PaymentIntent, zur Dokumentation und Verarbeitung aller Zahlungsstatus bis zum Zahlungsabschluss.
Sie können auch eine PaymentMethod vom Typ SEPA-Lastschrift einrichten, indem Sie Kundinnen/Kunden ihre Bankdaten mit Bancontact, iDEAL oder Sofort authentifizieren lassen.
Stripe einrichtenServerseitig
Als Erstes benötigen Sie ein Stripe-Konto. Registrieren Sie sich jetzt.
Nutzen Sie unsere offiziellen Bibliotheken für den Zugriff auf die Stripe-API über Ihre Anwendung:
Kund/innen erstellen oder abrufenServerseitig
Um ein SEPA-Lastschriftkonto für zukünftige Zahlungen wiederzuverwenden, muss es einem Customer-Objekt zugeordnet werden.
Sie sollten ein Customer-Objekt erstellen, wenn Ihre Kund/innen ein Konto bei Ihrem Unternehmen anlegen. Wenn Sie die ID des Customer-Objekts mit Ihrer eigenen Darstellung einer Kundin/eines Kunden verknüpfen, können Sie später die gespeicherten Angaben zur Zahlungsmethode abrufen und verwenden.
Legen Sie neue Kund/innen an oder rufen Sie bestehende Kund/innen ab, um sie mit dieser Zahlung zu verknüpfen. Fügen Sie den folgenden Code auf Ihrem Server ein, um neue Kund/innen zu erstellen.
PaymentIntent erstellenServerseitig
Ein PaymentIntent ist ein Objekt, das Ihre Absicht darstellt, eine Zahlung von einer Kundin/einem Kunden einzuziehen und das den Lebenszyklus des Zahlungsprozesses in jeder Phase verfolgt. Erstellen Sie zunächst ein PaymentIntent auf Ihrem Server und geben Sie den einzuziehenden Betrag und die Währung eur
an (andere Währungen werden von SEPA-Lastschriftverfahren nicht unterstützt). Wenn Sie bereits eine Integration mit der Payment Intents API haben, fügen Sie sepa_
zur Liste der Zahlungsmethoden für Ihren PaymentIntent hinzu. Geben Sie die ID der Kundin/des Kunden an.
Um ein SEPA-Lastschriftkonto für eine erneute Verwendung zu speichern, legen Sie den Parameter setup_future_usage auf off_
fest. SEPA-Lastschrift akzeptiert für diesen Parameter nur den Wert off_
.
Angaben zur Zahlungsmethode und Mandatsbestätigung erfassenClientseitig
Sie können jetzt mit Stripe Elements Zahlungsinformationen auf dem Client erfassen. Elements beinhaltet vorgefertigte Komponenten der Nutzeroberfläche zur Erfassung von Zahlungsdetails.
Ein Stripe Element enthält ein iframe, dass die Zahlungsdaten über eine HTTPS-Verbindung sicher an Stripe sendet. Die Adresse der Bezahlseite muss ebenfalls mit https:// beginnen, nicht mit http://, damit Ihre Integration funktioniert.
Sie können Ihre Integration ohne HTTPS testen. Dann müssen Sie das Protokoll aber aktivieren, bevor Sie Ihre ersten Live-Zahlungen empfangen.
Stripe Elements einrichten
Zahlung an Stripe sendenClientseitig
Anstatt das gesamte PaymentIntent-Objekt an den Client zu senden, verwenden Sie dessen Client-Geheimnis aus Schritt 3. Dieses unterscheidet sich von Ihren API-Schlüsseln, mit denen Anfragen der Stripe-API authentifiziert werden.
Achten Sie aber auf einen vorsichtigen Umgang mit dem Client-Geheimnis, da mit ihm die Zahlung abgeschlossen werden kann. Es darf nicht protokolliert, in URLs eingebettet oder Personen außer den Kund/innen selbst zugänglich gemacht werden.
Erfolgreiche PaymentIntent bestätigen
SEPA-Lastschrift ist eine Zahlungsmethode mit verzögerter Benachrichtigung. Das bedeutet, dass Gelder nicht sofort verfügbar sind. Wenn die Zahlung erfolgreich übermittelt wurde, wird der Status des PaymentIntent
von requires_
auf processing
aktualisiert. Nach erfolgreicher Zahlung wird der PaymentIntent-Status von processing
auf succeeded
aktualisiert.
Die folgenden Ereignisse werden übermittelt, wenn der PaymentIntent-Status aktualisiert wird:
Ereignis | Beschreibung | Nächste Schritte |
---|---|---|
payment_ | Die Zahlung der Kundin/des Kunden wurde erfolgreich an Stripe übermittelt. | Warten Sie, bis die initiierte Zahlung erfolgt oder fehlschlägt. |
payment_ | Die Kundenzahlung war erfolgreich. | Wickeln Sie die Bestellung des/der Kund/in ab. |
payment_ | Die Zahlung des/der Kund/in wurde abgelehnt. | Kontaktieren Sie Ihre/n Kund/in per E-Mail oder Push-Benachrichtigung und fordern Sie eine andere Zahlungsmethode an. |
Wir empfehlen die Verwendung von Webhooks, um die erfolgreiche Abbuchung zu bestätigen und die Kundinnen/Kunden zu informieren, dass die Zahlung abgeschlossen ist.
Beachten Sie, dass die PaymentMethod dem Customer-Objekt zugeordnet wird, sobald die Zahlung den Status processing
hat, da setup_future_usage und Kunde/Kundin festgelegt wurden. Diese Zuordnung erfolgt unabhängig davon, ob die Zahlung später erfolgt oder fehlschlägt.
Integration testen
Stripe stellt mehrere Testnummern zur Verfügung, um sicherzustellen, dass Ihre Integration für den Einsatz in einer Produktionsumgebung bereit ist. Verwenden Sie die Testnummern für SEPA-Lastschriften, wenn Sie Ihre Checkout-Integration mit SEPA-Lastschriften testen.
Test-IBANs
OptionalIBAN-Element validieren
Das IBAN-Element validiert Nutzereingaben bereits bei der Eingabe. Überprüfen Sie das IBAN-Element auf Change-Ereignisse und zeigen Sie alle Fehler an:
Das Change-Ereignis umfasst zusätzliche Parameter, mit denen Sie die Nutzererfahrung weiter optimieren können. Weitere Informationen finden Sie in der Referenz für Stripe.js.
OptionalAbbuchungsdatum für Kunde/Kundin konfigurieren
Das Datum, an dem Stripe das Bankkonto eines Kunden/einer Kundin belastet, können Sie über das Zieldatum steuern. Das Zieldatum muss mindestens drei Tage in der Zukunft und nicht mehr als 15 Tage ab dem aktuellen Datum liegen.
Mit dem Zieldatum wird geplant, dass das Geld das Konto des Kunden/der Kundin zum Zieldatum verlässt. Sie können einen PaymentIntent, der mit einem Zieldatum erstellt wurde, bis zu drei Werktage vor dem konfigurierten Datum stornieren.
Wenn das Zieldatum eines der folgenden Kriterien erfüllt, wird die Abbuchung am nächsten verfügbaren Werktag durchgeführt:
- Das Zieldatum fällt auf ein Wochenende, einen Feiertag oder einen anderen arbeitsfreien Tag.
- Das Zieldatum liegt weniger als drei Werktage in der Zukunft.
Dieser Parameter wird auf Best-Effort-Basis ausgeführt. Es kann sein, dass die Bank jedes Kunden/jeder Kundin die Abbuchungen je nach örtlichen Feiertagen oder aus anderen Gründen zu unterschiedlichen Terminen vornimmt.
OptionalMandatsreferenzen mit einem Präfix anpassen
Sie können die Mandatsreferenzen für SEPA-Lastschriften anpassen, um die Mandatsidentifikation zu vereinfachen. Geben Sie dazu den optionalen Wert payment_
an. Wir fügen das reference_
an den Anfang einer eindeutigen Sequenz an, um sicherzustellen, dass die gesamte Referenz einzigartig bleibt.
Der reference_
muss folgende Anforderungen erfüllen:
- Maximale Länge: 12 Zeichen
- Muss mit einer Zahl oder einem Großbuchstaben beginnen
- Zulässige Zeichen:
- Großbuchstaben
- Zahlen
- Freie Zeichen
- Sonderzeichen:
.
,/
,&
,-
,_
- Darf nicht mit
STRIPE
beginnen
Fügen Sie jedes gewünschte Trennzeichen in das Präfix ein, da wir standardmäßig keines hinzufügen. Wir kürzen nachgestellte Leerzeichen auf maximal ein Leerzeichen. Bei einem gültigen Präfix ist der resultierende Verweis immer 24 Zeichen lang.
Die generierte Referenz sieht wie folgt aus: EX4MPL3-19CNCI920C2M02O3
.
Fehlercode | Nachricht |
---|---|
invalid_ | Der reference_ muss mindestens 12 Zeichen lang sein und darf nur aus Großbuchstaben, Ziffern, Leerzeichen oder den folgenden Sonderzeichen bestehen: / , _ , - , & und . . Er darf nicht mit STRIPE beginnen. |