Tour durch die API
Erfahren Sie, wie Stripe-API-Objekte zusammenpassen und wie sie am besten miteinander kombiniert werden.
Die Stripe-APIs sind leistungsstarke und flexible Werkzeuge, wenn Sie wissen, wie sie verwendet werden. Diese Tour durch die API vermittelt Ihnen die folgenden wichtigsten Informationen, damit Sie ein tieferes Verständnis der APIs entwickeln:
- Die allen APIs zugrunde liegenden Kernkonzepte
- Der Pfad einer erfolgreichen Zahlung
- Die beteiligten Objekte und die Szenarien, in denen sie benötigt werden
- Gängige Muster und Best Practices zum Kombinieren dieser Objekte
Ein Verständnis dieser Muster hilft Ihnen, über die Verwendung vorgefertigter Codes in Stripe-Tutorials hinauszugehen. Sie werden in der Lage sein, alte Integrationen auf modernere Muster umzustellen, einfache Muster auf neue Weise miteinander zu kombinieren und bei der Planung künftiges Wachstum zu berücksichtigen.
Kernkonzepte
Alles ist ein Objekt.
Alles in Ihrem Stripe-Konto ist ein Objekt, unabhängig davon, ob Sie es über die API erstellen. Ihr Guthaben entspricht einem Guthaben-Objekt, Kundinnen/Kunden werden mithilfe von Kunden-Objekten nachverfolgt, Zahlungsdetails werden in PaymentMethod-Objekten gespeichert usw.
Sogar Low-Code- und No-Code-Integrationen erzeugen solche Objekte. Und auch durch Ihre Aktionen im Dashboard werden Objekte erzeugt. Beispiel: Wenn Sie manuell eine Kundin/einen Kunden im Dashboard erstellen, wird ebenfalls ein Customer-Objekt erstellt.
Objekte haben eine dynamische Funktionsweise.
Stripe-Integrationen verarbeiten komplexe Vorgänge.
Die API verwendet ein einzelnes Objekt zur Nachverfolgung jedes Vorgangs. Sie erstellen zu Beginn des Vorgangs ein Objekt und können nach jedem Schritt den status
dieses Objekts überprüfen, um zu erfahren, was als Nächstes passieren muss. Dies wird manchmal als Statusrechner bezeichnet.
Beispiel: Eine Kundin/ein Kunde probiert beim Abschließen einer Zahlung mehrere Zahlungsmethoden aus. Schlägt eine Zahlungsmethode fehl, weist der status
requires_
Sie darauf hin, dass eine andere Zahlungsmethode angeboten werden sollte.
Eine Integration setzt such aus zusammenwirkenden Objekten zusammen.
Um eine Zahlung anzunehmen, muss ein System mehrere Kernobjekte erstellen und diese über verschiedene Status hinweg verwalten.
Bei Ihrer Stripe-Integration handelt es sich um ein System, das die Erstellung und Verwaltung dieser Objekte durch die Kommunikation mit Stripe handhabt.
Einige Integrationen gehen hier noch deutlich weiter und ermöglichen zum Beispiel die Nachverfolgung von Kund/innen, Verwaltung von Abonnements usw. Ihre Kernfunktionalität zur Abwicklung von Zahlungen lässt sich jedoch auf dieselben Objekte und Schritte zurückführen, wobei hier dann weitere Objekte hinzugefügt werden.
Payment objects
Stripe verwendet eine Vielzahl von verwandten Objekten zur Vereinfachung von Zahlungen. Bevor Sie eine Integration erstellen können, die Ihren spezifischen Anforderungen entspricht, müssen Sie sich damit vertraut machen, wie diese Objekte zusammenarbeiten.
In diesem Video erhalten Sie einen Überblick über die Rollen und Funktionen von Zahlungsobjekten.
Weitere Informationen zu den Zahlungsintegrationsoptionen von Stripe finden Sie in den folgenden Leitfäden:
The path to a payment
Bei einer modernen Stripe-Integration wird für jede Zahlung ein als ein PaymentIntent bezeichnetes Objekt verwendet. Wie die Bezeichnung nahelegt, stellt dieses Objekt Ihre Absicht (engl.: intent) dar, eine Zahlung einzuziehen. Mit diesem Objekt werden die Schritte nachverfolgt, die Sie ausführen, um diese Absicht umzusetzen.
Beispiel: Eine Kundin/ein Kunde klickt auf die Schaltfläche Bestellvorgang abschließen, während sich ein Artikel im Wert von 100 USD im Warenkorb befindet. Der Artikel wurde noch nicht gekauft und wird es möglicherweise auch nicht, weil z. B. der Zahlungsablauf beendet oder die Zahlung vom Kartenaussteller abgelehnt wird. Das Klicken auf Bestellvorgang abschließen signalisiert jedoch die Absicht der Kundin/des Kunden, den Artikel zu kaufen. Sie wiederum haben die Absicht, ihr/ihm diesen Kauf zu ermöglichen. An diesem Punkt erstellt die Integration ein PaymentIntent
-Objekt mit einem Betrag von 100 USD, um den übrigen Teil des Vorgangs nachzuverfolgen.
Auf seinem Pfad zu einer erfolgreichen Zahlung durchläuft der PaymentIntent
mehrere Status. Nachfolgend finden Sie eine vereinfachte Version davon:
Zahlungsmethoden
Ein PaymentIntent hat anfänglich den Status requires_
. Um den Übergang zum nächsten Status zu ermöglichen, benötigt Stripe Details zur Zahlungsmethode der Kundin/des Kunden – entweder eine Kartennummer oder die Zugangsdaten für ein anderes Zahlungssystem.
Eine Integration stellt diese Details mithilfe eines API-Objekts mit dem Namen PaymentMethod dar. Bei manchen Integrationen schreiben Sie den Code, mit dem dieses Objekt erstellt und mit dem PaymentIntent verknüpft wird. Bei anderen werden die Details von Stripe erfasst und für Sie verarbeitet. Sie können auch mithilfe der Setup Intents API eine Zahlungsmethode für die Verwendung mit zukünftigen PaymentIntents erstellen und speichern.
Bestätigung
Der nächste Status lautet requires_
. Bei einem interaktiven Zahlungsablauf müssen Kund/innen ihre Absicht bestätigen, unter Verwendung der von ihnen bereitgestellten Methode zu zahlen. Bei einer einmaligen Online-Zahlung geschieht das in der Regel, wenn Kund/innen auf die Schaltfläche Bezahlen klicken.
Wenn Kundinnen und Kunden auf Bezahlen klicken oder ihre Absicht auf eine andere Weise bestätigen, wird Stripe mithilfe eines API-Aufrufs von einer Integration darüber benachrichtigt. Manche Integrationen erfordern, dass Sie den Code zum Durchführen dieses Aufrufs selbst erstellen. Stripe bietet Drop-in-Elemente der Nutzeroberfläche, sogenannte Stripe Elements, um dies unter Beibehaltung der Flexibilität zum Erstellen einer nutzerdefinierten Integration zu ermöglichen. Bei anderen Integrationen, z. B. der Integration von Stripe Checkout oder Payment Links, führt Stripe den Aufruf durch und handhabt die nächsten Schritte. Es gibt viele Möglichkeiten, Stripe zu integrieren und die verschiedenen Objekte zu kombinieren, die für Ihr Anwendungsszenario funktionieren. Erfahren Sie mehr über die Integrationsoptionen für Online-Zahlungen.
In den meisten Fällen wird eine Zahlung erstellt, wenn ein PaymentIntent bestätigt wird, um diesen speziellen Versuch der Geldübertragung darzustellen. Die Zahlung kann erfolgreich sein oder fehlschlagen. Wenn die Zahlung fehlschlägt, kann sie wiederholt werden, indem der PaymentIntent erneut bestätigt wird, dies geschieht in der Regel mit neuen Zahlungsdetails. Wenn Wiederholungsversuche sofort zugelassen werden und dabei kein neuer PaymentIntent erstellt werden muss, erhöht dies in der Regel die Konversionsrate.
Abwicklung und Erfolg
Der PaymentIntent hat nun den Status processing
und Stripe versucht, die Zahlung abzuwickeln.
Dieser Teil, der oftmals mehrere Schritte umfasst, wird immer von Stripe für Sie gehandhabt. (Im Fall von Kreditkarten sind diese Schritte beispielsweise auf die Funktionsweise von Karten zurückzuführen.) Im Verlauf dieser Schritte wird der Status des PaymentIntent entsprechend dem Ergebnis aktualisiert: entweder auf succeeded
oder zurück auf requires_
, wenn der Zahlungsversuch fehlschlägt.
Wenn wir fertig sind, kommt ein letztes Objekt zum Einsatz: das Ereignis-Objekt. Mithilfe von Event
-Objekten werden Aktivitäten dargestellt. In diesem Fall könnte die Aktivität „Die Zahlung war erfolgreich“ oder „Die Zahlung ist fehlgeschlagen“ lauten. Manche Integrationen setzen voraus, dass Sie nutzerdefinierten Code selbst schreiben, um mithilfe von Webhooks auf Ereignisse zu reagieren. Bei Verwendung anderer Integrationen, z. B. Integrationen wie Checkout oder Payment Links, überwacht Stripe das Ereignis und stellt eine vorgefertigte Antwort bereit.