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, Zahlungen von Kundinnen und Kunden einzuziehen, repräsentiert und den gesamten Zahlungsvorgang dokumentiert. Erstellen Sie zunächst einen PaymentIntent auf Ihrem Server und geben Sie den einzuziehenden Betrag und die Währung eur
an (andere Währungen werden von SEPA-Lastschrift nicht unterstützt). Falls Sie bereits über eine Integration verfügen, die die Payment Intents API nutzt, fügen Sie der Liste der Zahlungsmethoden für Ihren PaymentIntent die Zahlungsmethode sepa_
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.