So funktionieren PaymentIntents
Die Verwaltung von Zahlungen, die asynchrone Prozesse umfassen, kann kompliziert sein. Beispielsweise kann ein/e Nutzer/in aufgefordert werden, eine Zahlung mit 3D Secure zu bestätigen. Asynchrone Zahlungsabläufe sind schwer zu verwalten, da sie von Kundeninteraktionen abhängen, die außerhalb Ihrer Anwendung stattfinden. PaymentIntents und SetupIntents vereinfachen die Verwaltung, indem sie den Status des Ablaufs in einem Statusrechner. verfolgen.
Wenn der PaymentIntent erstellt wird, hat er den Status requires_payment_method
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_action
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_capture
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_payment_method
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.
1 Versionen der API vor dem 11.02.2019 zeigen requires_source
anstelle von requires_payment_method
und requires_source_action
anstelle von requires_action
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.