So funktionieren PaymentIntents und SetupIntents
Erfahren Sie, wie PaymentIntents und SetupIntents innerhalb des Zahlungsablaufs funktionieren.
Der Hauptunterschied zwischen der Payment Intents API und der Setup Intents API ist ihr Zweck:
- Payment Intents API: Dient zum Einziehen von Zahlungen und zum sofortigen Abwickeln von Zahlungen einer Kundin oder eines Kunden. Sie erstellt eine Abbuchung ab und wickelt eine Transaktion ab, um Gelder einzuziehen.
- Setup Intents API: Dient zum Erfassen und Speichern von Details zu Zahlungsmethoden zur späteren Verwendung, ohne eine Zahlung abzuwickeln. Richtet Zahlungsdaten ein, ohne eine Zahlung zu verarbeiten.
Payment Intent API | Setup Intents API |
---|---|
Erzeugt eine sofortige Abbuchung | Erzeugt keine Abbuchung |
Verfolgt den Lebenszyklus einer Zahlung | Verfolgt den Fortschritt bei der Einrichtung einer Zahlungsmethode |
Verwendet 3D Secure, um die Kundin oder den Kunden für die entsprechende Transaktion zu authentifizieren. | Nutzt 3D Secure, um eine Zahlungsmethode zu authentifizieren, ohne die Zahlung abzuwickeln, und erstellt ein Mandat oder eine Vereinbarung für zukünftige Zahlungen |
Asynchrone Zahlungen können eine Herausforderung darstellen, weil sie von Aktionen der Kundinnen und Kunden abhängen können, die außerhalb Ihrer Anwendung stattfinden. So kann es beispielsweise sein, dass ein/e Nutzer/in eine Zahlung mit 3D Secure bestätigen muss.
Um die Zahlungsverwaltung zu vereinfachen, verwendet Stripe ein Zustandsmodul, mit dem Sie den Zustand eines Zahlungsablaufs verfolgen können. Um die Zustände für jede API zu erfahren, wählen Sie unten die entsprechende Registerkarte:
Wenn der PaymentIntent erstellt wird, hat er den Status requires_
1, bis eine Zahlungsmethode angehängt wird.
Wir empfehlen, PaymentIntent zu erstellen, sobald Sie wissen, wie viel Sie berechnen möchten, sodass Stripe alle versuchten Zahlungen protokollieren kann.
Nachdem ein/e Kund/in die Zahlungsinformationen angegeben hat, kann der PaymentIntent bestätigt werden.
In den meisten Integrationen wird dieser Status übersprungen, weil die Informationen zur Zahlungsmethode genau dann übermittelt werden, wenn die Zahlung bestätigt wird.
Wenn für die Zahlung zusätzliche Aktionen erforderlich sind, z. B. die Authentifizierung mit 3D Secure, hat der PaymentIntent den Status requires_
1.
Nachdem die erforderlichen Aktionen verarbeitet wurden, wechselt der PaymentIntent-Wert zu processing
für asynchrone Zahlungsmethoden zum Beispiel Lastschriften. Die Bearbeitung dieser Arten von Zahlungsmethoden kann einige Tage in Anspruch nehmen. Andere Zahlungsmethoden, wie zum Beispiel Karten, werden schneller verarbeitet und gehen nicht in den Status processing
über.
Wenn Sie Gelder separat autorisieren und erfassen, kann Ihr PaymentIntent stattdessen auch zu requires_
wechseln. In diesem Fall wird er beim Versuch, die Gelder zu erfassen, zu processing
verschoben.
Eine PaymentIntent mit erfolgreichem Status bedeutet, dass der von ihm gesteuerte Zahlungsablauf abgeschlossen ist.
Die Gelder sind jetzt in Ihrem Konto und Sie können die Bestellung zuversichtlich ausführen. Wenn Sie eine Rückerstattung an den Kunden/die Kundin ausstellen müssen, können Sie Refunds API verwenden.
Wenn der Zahlungsversuch fehlschlägt (zum Beispiel aufgrund einer Ablehnung), kehrt der Status des PaymentIntent zu requires_
zurück, sodass die Zahlung erneut versucht werden kann.
Sie können einen PaymentIntent jederzeit stornieren, bevor er sich im Status processing
2 oder succeeded
befindet. Wenn Sie ihn stornieren, wird der PaymentIntent für zukünftige Zahlungsversuche ungültig und kann nicht rückgängig gemacht werden. Wenn Gelder zurückgehalten wurden, werden diese durch die Stornierung freigegeben.
PaymentIntents können auch automatisch in den Status canceled
übergehen, wenn sie zu oft bestätigt wurden.
1 Versionen der API vor dem 11.02.2019 zeigen requires_
anstelle von requires_
und requires_
anstelle von requires_
an.
2 Sie können einen PaymentIntent im Status processing
stornieren, wenn die zugehörige Zahlungsmethode „US-Bankkonto“ ist. Die Stornierung kann jedoch aufgrund eines begrenzten und variierenden Zeitfensters fehlschlagen.