Zahlungsmethode eines Kunden/einer Kundin speichern, ohne eine Zahlung zu tätigen
Erfahren Sie, wie Sie eine Zahlungsmethode speichern und später belasten.
Mit der Checkout Sessions API im Einrichtungsmodus
können Sie die Zahlungsdetails Ihrer Kund/innen ohne vorherige Zahlung speichern. Das ist hilfreich, wenn Sie Kund/innen jetzt zum Onboarding einladen und Zahlungen für sie einrichten möchten, die Kundenkonten aber erst später über die Payment Intents API belasten möchten (wenn die Kund/innen offline sind).
Verwenden Sie diese Integration, um wiederkehrende Zahlungen einzurichten oder einmalige Zahlungen zu erstellen, bei denen der endgültige Betrag später festgelegt wird (häufig erst nach Erhalt Ihrer Dienstleistung).
Transaktionen mit Zahlungskarte
Bei Transaktionen mit Zahlungskarte, etwa bei der Erfassung von Kartenangaben über Stripe Terminal, wird ein anderer Prozess zum Speichern der Zahlungsmethode verwendet.
Compliance
Sie sind dafür verantwortlich, dass Sie alle geltenden Gesetze, Vorschriften und Netzwerkregeln einhalten, wenn Sie Zahlungsdetails auf Kundenseite speichern. Diese Anforderungen gelten in der Regel, wenn Sie Zahlungsmethoden Ihrer Kundinnen und Kunden für die zukünftige Verwendung speichern möchten. Ein Beispiel wäre, wenn Sie die kundenseitig bevorzugte Zahlungsmethode im Bezahlvorgang für einen zukünftigen Kauf anzeigen oder das Kundenkonto belasten möchten, wenn Kundinnen und Kunden Ihre Website oder App zu dem Zeitpunkt nicht aktiv nutzen. Fügen Sie Nutzungsbedingungen zu Ihrer Website oder App hinzu, aus denen hervorgeht, wie Sie die Zahlungsdetails speichern möchten, und lassen Sie Kundinnen und Kunden aktiv zu diesen zustimmen.
Wenn Sie eine Zahlungsmethode speichern, können Sie diese nur für die in Ihren Konditionen vereinbarte Nutzung verwenden. Um eine Zahlungsmethode belasten zu können, wenn Kundinnen und Kunden offline sind, und diese Option auch für zukünftige Einkäufe zu speichern, müssen Sie explizit die kundenseitige Zustimmung einholen. Fügen Sie beispielsweise ein Kontrollkästchen mit dem Titel „Meine Zahlungsmethode für die zukünftige Verwendung speichern“ ein, um die Einwilligung zu erhalten.
Um Kundenkonten zu belasten, wenn die Kund/innen offline sind, fügen Sie unbedingt Folgendes in Ihre Konditionen ein:
- Die kundenseitige Zustimmung, eine Zahlung oder mehrere Zahlungen für bestimmte Transaktionen in deren Namen einzuleiten.
- Der erwartete Zeitpunkt und die voraussichtliche Häufigkeit von Zahlungen (z. B. Zahlungen für geplante Raten- oder Abo-Zahlungen oder für außerplanmäßige Aufstockungen).
- Wie Sie den Zahlbetrag ermitteln.
- Ihre Stornorichtlinie, wenn die Zahlungsmethode für einen Abo-Dienst ist.
Dokumentieren Sie unbedingt die schriftliche Zustimmung Ihrer Kundinnen und Kunden zu diesen Bedingungen.
Notiz
Wenn Sie die manuelle serverseitige Bestätigung verwenden müssen oder für Ihre Integration die separate Anzeige von Zahlungsmethoden erforderlich ist, lesen Sie unseren alternativen Leitfaden.
Stripe einrichtenServerseitig
Erstellen Sie zunächst ein Stripe-Konto oder melden Sie sich an.
Verwenden Sie unsere offiziellen Bibliotheken, um von Ihrer Anwendung aus auf die Stripe API zuzugreifen:
Kund/innen erstellenServerseitig
Um eine Zahlungsmethode für zukünftige Zahlungen einzurichten, müssen Sie sie einem/einer Kund/in hinzufügen. Erstellen Sie Customer
-Objekte, wenn Kund/innen ein Konto bei Ihrem Unternehmen erstellen. Customer
-Objekte ermöglichen die Wiederverwendung von Zahlungsmethoden und die Nachverfolgung über mehrere Zahlungen hinweg.
Einrichtungsmodus verwendenServerseitig
Erstellen Sie eine Checkout-Sitzung mit mode=setup.
Zahlungsmethode mit Kund/in verknüpfenServerseitig
Wenn Sie die Checkout-Sitzung nicht mit einem/einer bestehenden Kund/in erstellt haben, verwenden Sie die ID der Zahlungsmethode, um die Zahlungsmethode einem/einer Kund/in zuzuordnen.
Andernfalls wird die Zahlungsmethode automatisch dem/der Kund/in zugeordnet, den/die Sie beim Erstellen der Checkout-Sitzung angegeben haben.
Zahlungsmethode abrufenServerseitig
Nachdem ein/e Kund/in seine/ihre Checkout-Sitzung erfolgreich abgeschlossen hat, verarbeiten Sie den Webhook checkout.session.completed. Rufen Sie das Sitzungsobjekt im Webhook ab und gehen Sie dann wie folgt vor:
- Rufen Sie den Wert des setup_intent-Schlüssels ab, also die während der Checkout-Sitzung erstellte SetupIntent-ID.
- Verwenden Sie die SetupIntent-ID, um das SetupIntent-Objekt abzurufen. Das zurückgegebene Objekt enthält eine payment_method-ID, die Sie im nächsten Schritt einem Kunden/einer Kundin zuordnen können.
Erfahren Sie mehr über die Einrichtung von Webhooks.
Die Zahlungsmethode später belastenServerseitig
Nachdem Sie die PaymentMethod einer Kundin/einem Kunden zugewiesen haben, können Sie mit einem PaymentIntent eine Off-Session-Zahlung durchführen:
- Stellen Sie customer auf die Kunden-ID und payment_method auf die Zahlungsmethoden-ID ein.
- Legen Sie off_session auf
true
fest, um anzugeben, dass der/die Kund/in sich während eines Zahlungsversuchs nicht in Ihrem Bezahlvorgang befindet und somit eine Authentifizierungsanfrage eines Partners, wie z. B. eines Kartenausstellers, einer Bank oder eines anderen Zahlungsinstituts, nicht erfüllen kann. Wenn ein Partner während Ihres Bezahlvorgangs eine Authentifizierung anfordert, fordert Stripe Ausnahmen unter Verwendung von Kundendetails aus einer vorherigen On-Session-Transaktion an. Wenn die Bedingungen für die Ausnahme nicht erfüllt sind, kann der PaymentIntent einen Fehler ergeben. - Legen Sie den Wert der Eigenschaft confirm des PaymentIntent auf
true
fest, wodurch die Bestätigung sofort beim Erstellen des PaymentIntent erfolgt.
Schlägt ein Zahlungsversuch fehl, schlägt die Anfrage ebenfalls mit einem 402-HTTP-Statuscode fehl, und der Status des PaymentIntent ist requires_payment_method. Fordern Sie Ihre/n Kund/in in diesem Fall auf, zu Ihrer Anwendung zurückzukehren (zum Beispiel per E-Mail oder In-App-Benachrichtigung), und leiten Sie sie/ihn zur Auswahl einer neuen Zahlungsmethode zu einer neuen Checkout-Sitzung weiter.