Ein Abonnement per BACS-Lastschriftverfahren einrichten
Eine Checkout-Sitzung stellt die Details der Kaufabsicht der Kund/innen dar. Sie erstellen eine Sitzung, wenn Ihre Kund/innen ein Abonnement starten möchten. Nachdem Ihre Kund/innen an eine Checkout-Sitzung weitergeleitet wurden, stellt Stripe ein Zahlungsformular zur Verfügung, in dem Ihre Kund/innen ihren Kauf abschließen können. Sobald Ihre Kund/innen einen Kaufvorgang abgeschlossen haben, werden sie wieder auf Ihre Website zurückgeleitet.
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:
Wiederkehrende Produkte und Preise erstellen
Vorsicht
Die Prices API bietet einen einheitlichen Rahmen für die Erstellung von einmaligen Käufen und Abonnements mit Stripe. Bestehende Integrationen ohne Prices API werden weiterhin unterstützt. Es gibt jedoch einige Checkout-Funktionen, die nur Prices unterstützen. Lesen Sie den Migrationsleitfaden, wenn Sie auf die Prices API umsteigen möchten.
Um Checkout zu verwenden, müssen Sie zuerst ein Produkt und einen Preis erstellen. Verschiedene physische Waren oder Dienstleistungsebenen sollten durch Produkte dargestellt werden. Die Preisgestaltung jedoch ist durch einen oder mehrere Preise dargestellt.
Sie können beispielsweise ein Softwareprodukt erstellen, das vier Preise hat: 10 USD/Monat, 100 USD/Jahr, 9 GBP/Monat und 90 GBP/Jahr. Auf diese Weise können Sie Preise ändern und hinzufügen, ohne die Details der zugrunde liegenden Produkte ändern zu müssen. Sie können ein Produkt oder einen Preis entweder über die API oder über das Stripe-Dashboard erstellen.
Wenn Ihr Preis beim Bezahlvorgang ermittelt wird (der/die Kund/in legt beispielsweise einen Spendenbetrag fest), oder wenn Sie es vorziehen, Preise nicht im Voraus zu erstellen, können Sie Preise inline bei der Erstellung der Checkout-Sitzung erstellen.
Checkout-Sitzung erstellenClientseitigServerseitig
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 Sitzung mit der ID eines vorhandenen Preises. Stellen Sie sicher, dass der Modus auf subscription
gesetzt ist und dass Sie mindestens einen wiederkehrenden Preis übergeben. Zusätzlich zu wiederkehrenden Preisen können Sie auch einmalige Preise hinzufügen. Nachdem Sie die Checkout-Sitzung erstellt haben, leiten Sie Ihre Kund/innen an die in der Antwort zurückgegebene URL weiter.
Wenn Ihre Kund/innen ihre Zahlung erfolgreich abgeschlossen haben, werden Sie an die success_url
weitergeleitet. Hierbei handelt es sich um eine Seite auf Ihrer Website, auf der Ihre Kund/innen darüber informiert werden, dass ihre Zahlung erfolgreich durchgeführt wurde. Stellen Sie die Sitzungs-ID auf Ihrer Erfolgsseite zur Verfügung, indem Sie die Vorlagenvariable {CHECKOUT_SESSION_ID}
wie im obigen Beispiel in die success_url
einfügen.
Wenn Ihre Kund/innen in einer Checkout-Sitzung auf Ihr Logo klicken, ohne eine Zahlung abzuschließen, leitet Checkout sie über die cancel_url
zurück zu Ihrer Website. In der Regel ist dies die Seite auf Ihrer Website, die die Kund/innen vor der Weiterleitung zu Checkout besucht haben.
Checkout-Sitzungen laufen 24 Stunden nach Erstellung ab.
Aktivieren Sie in Ihrem Dashboard die Zahlungsmethoden, die Sie von Ihren Kund/innen akzeptieren möchten. Checkout unterstützt mehrere Zahlungsmethoden.
Vorsicht
Verlassen Sie sich beim Erkennen von initiierten Zahlungen nicht allein auf die Weiterleitung auf die success_url
:
- Böswillige Nutzer/innen könnten, ohne zu bezahlen, direkt auf die
success_url
zugreifen und sich so unberechtigt Zugang zu Waren und Dienstleistungen verschaffen. - In manchen Fällen werden Kund/innen nach erfolgreicher Zahlung nicht zur
success_url
weitergeleitet. Möglicherweise haben sie die Registerkarte im Browser geschlossen, bevor die Weiterleitung erfolgt ist.
Bestätigen, dass die Zahlung erfolgreich durchgeführt wurde
Wenn Ihre Kund/innen ihre Zahlung erfolgreich abschließen, werden sie von Stripe an die URL weitergeleitet, die Sie im success_url
-Parameter angegeben haben. Hierbei handelt es sich in der Regel um eine Seite auf Ihrer Website, auf der Ihre Kund/innen darüber informiert werden, dass ihre Zahlung erfolgreich durchgeführt wurde.
Bei Bacs Direct Debit handelt es sich jedoch um eine Zahlungsmethode mit verzögerter Benachrichtigung, was bedeutet, dass Gelder nicht sofort verfügbar sind. Bei einer Zahlung mit Bacs Direct Debit dauert es in der Regel three Werktage, bis die Gelder verfügbar sind. Deshalb sollten Sie mit der Ausführung warten, bis das Geld auf Ihrem Konto ist. Nach erfolgreicher Zahlung ändert sich der zugrunde liegende PaymentIntent-Status von processing
in succeeded
.
Sie können auf verschiedene Weise bestätigen, dass die Zahlung erfolgreich ist:
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 |
---|---|---|
10-88-00 | 00012345 | Die Zahlung ist erfolgt und die Rechnung wird auf paid umgestellt. |
10-88-00 | 90012345 | Die Zahlung erfolgt innerhalb von drei Minuten und die Rechnung wird auf paid umgestellt. |
10-88-00 | 33333335 | Die Zahlung schlägt fehl, die Fehlerkennung debit_not_authorized wird ausgegeben und die Rechnung wird auf open gestellt. Das Mandat wechselt zu inactive und die PaymentMethod kann nicht erneut verwendet werden. |
10-88-00 | 93333335 | Die Zahlung schlägt nach drei Minuten fehl, die Fehlerkennung debit_not_authorized wird ausgegeben und die Rechnung wird auf open gestellt. Das Mandat wechselt zu inactive und die PaymentMethod kann nicht erneut verwendet werden. |
10-88-00 | 22222227 | Die Zahlung schlägt fehl, die Fehlerkennung insufficient_funds wird ausgegeben und die Rechnung wird auf open gestellt. Das Mandat bleibt active und die PaymentMethod kann erneut verwendet werden. |
10-88-00 | 92222227 | Die Zahlung schlägt nach drei Minuten fehl, die Fehlerkennung insufficient_funds wird ausgegeben und die Rechnung wird auf open gestellt. Das Mandat bleibt active und die PaymentMethod kann erneut verwendet werden. |
10-88-00 | 55555559 | Die Zahlung erfolgt innerhalb von drei Minuten und die Rechnung wechselt zu paid . Eine Zahlungsanfechtung wird jedoch sofort erstellt. |
10-88-00 | 00033333 | Die Zahlungsmethode wurde erfolgreich erstellt, das Mandat wird jedoch von der Kundenbank verweigert und sofort deaktiviert. |
10-88-00 | 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. |
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 Kund/innen bei der erstmaligen Erfassung ihrer Zahlungsinformationen sowie bei jeder Kontobelastung standardmäßig E-Mails. Im Testmodus werden diese Benachrichtigungen nicht versendet.