Bankverbindung für Bacs-Lastschriftverfahren speichern
So können Sie Checkout nutzen, um Angaben zur Zahlungsmethode für künftige Zahlungen per Bacs-Lastschriftverfahren zu speichern.
Sie können Stripe Checkout verwenden, um Zahlungsinformationen für das Bacs-Lastschriftverfahren vorab zu erfassen. Der endgültige Betrag bzw. das Zahlungsdatum wird dabei später festgelegt. Mögliche Anwendungsszenarien:
- Speichern von Zahlungsmethoden in einer Geldbörse, um zukünftige Käufe zu optimieren.
- Gebühreneinziehung nach der Leistungserbringung.
- Kostenlosen Testzeitraum für ein Abonnement starten.
Stripe einrichtenServerseitig
Zunächst 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/in erstellenServerseitig
Um das BACS-Lastschriftverfahren bei späteren Zahlungen wiederzuverwenden, müssen Sie es bestimmten Kund/innen zuordnen. Erstellen Sie ein Kundenobjekt, wenn jemand ein Konto bei Ihrem Unternehmen anlegt. Verknüpfen Sie die ID des Kundenobjekts dann mit Ihrem internen Kundenabbild, um die gespeicherten Zahlungsdaten später erneut zu verwenden. Überspringen Sie diesen Schritt, wenn Sie bereits ein vorhandenes Kundenobjekt haben.
Checkout-Sitzung erstellenClientseitigServerseitig
Bevor Sie Zahlungen per Lastschrift annehmen können, müssen Ihre Kundinnen/Kunden ihre Kontoinformationen zur Verfügung stellen und Sie autorisieren, die Abbuchung per Stripe Checkout von ihrem Konto vorzunehmen (dies wird auch als Lastschriftmandat bezeichnet).
Fügen Sie Ihrer Website eine Schaltfläche zum Bezahlen hinzu, über die ein serverseitiger Endpoint aufgerufen wird, um eine Checkout-Sitzung zu erstellen.
<html> <head> <title>Checkout</title> </head> <body> <form action="/create-checkout-session" method="POST"> <button type="submit">Checkout</button> </form> </body> </html>
Erstellen Sie eine Checkout-Sitzung im setup
-Modus, um die erforderlichen Informationen zu erfassen. Leiten Sie Ihre Kundinnen/Kunden nach dem Erstellen der Checkout-Sitzung an die in der Antwort zurückgegebene URL weiter.
Wenn Ihre Kund/innen ihre Angaben zur Zahlungsmethode machen, werden Sie an die success_
weitergeleitet. Hierbei handelt es sich um eine Seite auf Ihrer Website, auf der Ihre Kund/innen darüber informiert werden, dass ihre Zahlungsmethode erfolgreich gespeichert wurde. Stellen Sie die Sitzungs-ID auf Ihrer Erfolgsseite zur Verfügung, indem Sie die Vorlagenvariable {CHECKOUT_
wie im obigen Beispiel in die success_
einfügen.
Wenn Ihre Kund/innen in einer Checkout-Sitzung auf Ihr Logo klicken, ohne Angaben zur Zahlungsmethode zu machen, leitet Checkout sie über die cancel_
zurück zu Ihrer Website. In der Regel ist dies die Seite auf Ihrer Website, die die Kund/innen vor der Weiterleitung zu Stripe Checkout besucht haben.
Vorsicht
Verlassen Sie sich beim Erkennen von initiierten Zahlungen nicht allein auf die Weiterleitung auf die success_
:
- Böswillige Nutzer/innen könnten, ohne zu bezahlen, direkt auf die
success_
zugreifen und sich so unberechtigt Zugang zu Waren und Dienstleistungen verschaffen.url - In manchen Fällen werden Kund/innen nach erfolgreicher Zahlung nicht zur
success_
weitergeleitet. Möglicherweise haben sie die Registerkarte im Browser geschlossen, bevor die Weiterleitung erfolgt ist.url
Notiz
Die Regeln zum Bacs-Lastschriftverfahren sehen vor, dass die Kundinnen/Kunden bei der Erfassung ihrer Zahlungsinformationen eine E-Mail-Benachrichtigung erhalten. Diese E-Mails versendet Stripe automatisch. Sie können aber auch Ihre eigenen Bacs-Benachrichtigungen versenden.
Zahlungsmethode abrufenServerseitig
Nachdem ein Kunde/eine Kundin seine/ihre Zahlungsdetails übermittelt hat, rufen Sie das PaymentMethod-Objekt ab. Eine PaymentMethod speichert die bank account-Informationen der Kundinnen und Kunden für spätere Zahlungen. Sie können die PaymentMethod synchron mit der success_
oder asynchron mithilfe von Webhooks abrufen.
Ob Sie die PaymentMethod synchron oder asynchron abrufen, hängt von Ihrer Toleranz gegenüber Kaufabbrüchen ab, da Kund/innen in manchen Fällen nach erfolgreicher Zahlung nicht zur success_
weitergeleitet werden. (Sie können beispielsweise die Registerkarte im Browser schließen, bevor die Weiterleitung erfolgt ist.) Die Verarbeitung von Webhooks verhindert diese Form von Kaufabbrüchen in Ihrer Integration.
Ereignisse nach Einrichtung verarbeitenServerseitig
Sobald die Checkout-Sitzung abgeschlossen ist, werden die Zahlungsinformationen als Mandat an die Bank übermittelt.
Das Mandat kann nach der Erteilung jederzeit geändert werden, wenn etwa die Kundinnen/Kunden ihre Bank anweisen, das Mandat zu ändern oder wenn sie zu einer anderen Bank wechseln. Bei Mandatsänderungen sendet Stripe die folgenden Ereignisse:
Ereignisname | Beschreibung | Werden Zahlungen akzeptiert? |
---|---|---|
mandate. | Wird ausgegeben, wenn ein Mandat vom Bacs-Netzwerk abgelehnt, widerrufen oder wieder aktiviert wird. Unter mandate.status erfahren Sie, ob das Lastschriftmandat weiterhin verwendet werden kann. | Ja, sofern der neue Status active ist |
payment_ | Wird ausgegeben, wenn sich die kundenseitige Bankverbindung ändert. | Ja |
Sie können die Ereignisse in Ihrem Dashboard einsehen. Sie können einen Webhook einrichten, um diese programmatisch zu handhaben.
Integration testen
Für die Verwendung im Testmodus stehen Ihnen mehrere Testkontonummern zur Verfügung. So können Sie die Funktionsfähigkeit Ihrer Integration überprüfen.
Bankleitzahl | Kontonummer | Beschreibung |
---|---|---|
108800 | 00012345 | Die Zahlung ist erfolgreich und der PaymentIntent von wird von processing auf succeeded umgestellt. |
108800 | 90012345 | Die Zahlung erfolgt innerhalb von drei Minuten und der PaymentIntent von wird von processing auf succeeded umgestellt. |
108800 | 33333335 | Die Zahlung wird akzeptiert, schlägt dann aber unmittelbar fehl. Die Fehlerkennung debit_ wird ausgegeben und PaymentIntent wird von processing auf requires_ umgestellt. Das Mandat wechselt zu inactive und die PaymentMethod kann nicht erneut verwendet werden. |
108800 | 93333335 | Die Zahlung schlägt nach drei Minuten fehl. Die Fehlerkennung debit_ wird ausgegeben und der PaymentIntent wird von processing auf requires_ umgestellt. Das Mandat wechselt zu inactive und die PaymentMethod kann nicht erneut verwendet werden. |
108800 | 22222227 | Die Zahlung schlägt fehl, die Fehlerkennung insufficient_ wird ausgegeben und der PaymentIntent wird von processing auf requires_ umgestellt. Das Mandat bleibt active und die PaymentMethod kann erneut verwendet werden. |
108800 | 92222227 | Die Zahlung schlägt nach drei Minuten fehl, die Fehlerkennung insufficient_ wird ausgegeben und der PaymentIntent wird von processing auf requires_ umgestellt. Das Mandat bleibt active und die PaymentMethod kann erneut verwendet werden. |
108800 | 55555559 | Die Zahlung erfolgt innerhalb von drei Minuten und der PaymentIntent wechselt von processing zu succeeded . Eine Zahlungsanfechtung wird jedoch sofort erstellt. |
108800 | 00033333 | Die Zahlungsmethode wurde erfolgreich erstellt, das Mandat wird jedoch von der Kundenbank verweigert und sofort deaktiviert. |
108800 | 00044444 | Die Anfrage zur Einrichtung eines Bacs-Lastschriftverfahrens wird aufgrund einer ungültigen Kontonummer sofort abgelehnt. Die Kund/innen werden aufgefordert, ihre Angaben vor dem Absenden zu prüfen. Zahlungsinformationen werden nicht erfasst. |
108800 | 34343434 | The payment fails with a charge_ failure code due to the payment amount causing the account to exceed its weekly payment volume limit. |
108800 | 12121212 | The payment fails with a charge_ failure code due to the payment amount exceeding the account’s transaction volume limit. |
Sie können die oben aufgeführten Kontonummern nach Belieben testen. Da die Verarbeitung von Zahlungen per Bacs-Lastschriftverfahren mehrere Tage in Anspruch nimmt, verwenden Sie bitte die Testkontonummern. Bei diesen ist eine dreiminütige Verzögerung eingebaut, um tatsächliche Zahlungen möglichst exakt nachzubilden.
Notiz
Stripe schickt den Kundinnen/Kunden bei der erstmaligen Erfassung ihrer Zahlungsinformationen sowie bei jeder Kontobelastung standardmäßig E-Mails. Im Testmodus werden diese Benachrichtigungen nicht versendet.
Zahlungsmethode für künftige Zahlungen verwendenServerseitig
Wenn Sie eine PaymentMethod eingerichtet haben, können Sie künftige Zahlungen per Bacs-Lastschriftverfahren annehmen, indem Sie einen PaymentIntent erstellen und bestätigen.