Einführung in serverseitige SDKs
Erfahren Sie, wie Sie die serverseitigen SDKs von Stripe installieren und verwenden können.
Die serverseitigen SDKs von Stripe reduzieren den Arbeitsaufwand für die Verwendung unserer REST-APIs. Stripe-verwaltete SDKs sind für Ruby, PHP, Java, Python, Node, .NET und Go verfügbar. Community-Bibliotheken sind auch für andere Serversprachen verfügbar.
Installation und Einrichtung
Wählen Sie Ihre Sprache in der Sprachauswahl unten aus und befolgen Sie dann die Anweisungen, um das SDK zu installieren.
Nach Abschluss der Installation müssen Sie Stripe initialisieren:
API-Anfragen senden
Sie können Objekte mit der Stripe-API auf sechs Hauptarten bearbeiten: Erstellen, Aktualisieren, Löschen, Abrufen, Auflisten und Suchen. Die folgenden Beispiele zeigen anhand des Customer
-Objekts jede der sechs Möglichkeiten:
API-Anfragen können verschiedene Arten von Parametern enthalten. So erstellen Sie beispielsweise einen Kunden/eine Kundin mit name
(einer Zeichenfolge), address
(einem Objekt) und preferred_
(einer Liste):
Wenn Sie ein Objekt aktualisieren, können Sie einige seiner Eigenschaften löschen. Senden Sie für dynamisch typisierte Sprachen eine leere Zeichenfolge. Verwenden Sie für stark typisierte Sprachen bestimmte Konstanten. So löschen Sie zum Beispiel den name
(eine Zeichenfolge) und die metadata
(einen Hash von Schlüssel-Wert-Paaren) eines Kunden/einer Kundin:
In diesem Beispiel werden alle Metadaten gelöscht, Sie können jedoch auch einzelne Schlüssel löschen. Weitere Informationen zur Verwaltung von Metadaten finden Sie in unserem Metadaten-Leitfaden.
Auf die Antwort der API zugreifen
Jedes Mal, wenn Sie eine API Anfrage stellen, sendet Stripe Ihnen eine Antwort zurück.
Wenn Sie ein Objekt erstellen, abrufen oder aktualisieren, erhalten Sie das Objekt selbst zurück:
{ "id": "pi_001", "object": "payment_intent", "amount": 1099, "currency": "usd", /* ... */ }
Verwenden Sie eine Variable, um auf die Eigenschaften dieses Objekts zuzugreifen:
Wenn Sie Objekte auflisten oder suchen, erhalten Sie ein List
-Objekt zurück, das ein data
-Array mit den angeforderten Objekten enthält:
{ "object": "list", "data": [ { "id": "pi_003", "object": "payment_intent", "amount": 4200, "currency": "usd", /* ... */ }, { "id": "pi_002", "object": "payment_intent", "amount": 2100, "currency": "usd", "payment_method_types": [ "link" ], /* ... */ } ], "has_more": true, "url": "/v1/payment_intents" }
Verwenden Sie eine Schleife für das data
-Array, um auf die Eigenschaften jedes Objekts zuzugreifen:
Sie können auch die automatische Paginierung verwenden, um alle Ergebnisse zu durchlaufen.
Erweiterung der Antworten
Einige Eigenschaften können erweitert oder einbezogen werden, d. h., Sie können sie mithilfe des Parameters expand
zurückgeben. Beispiel:
- Rufen Sie einen PaymentIntent ab und erweitern Sie die zugehörige PaymentMethod.
- Rufen Sie eine Checkout-Sitzung ab und fügen Sie die Eigenschaft
line_
hinzu.items
Erfahren Sie mehr über die Erweiterung von Antworten.
Anfrage-ID abrufen
Jeder API-Anfrage ist eine eindeutige Anfrage-ID (req_
) zugeordnet. Sie können sie verwenden, um die Anfrage im Dashboard zu überprüfen, um die von Stripe empfangenen Parameter anzuzeigen oder um sie an den Stripe-Support weiterzuleiten, wenn Sie ein Problem lösen müssen.
Sie finden die IDs in Ihren Dashboard-Protokollen oder direkt mit Code wie dem folgenden:
Zusätzliche Anfrageoptionen festlegen
Beim Senden von API-Anfragen können Sie zusätzliche Anfrageoptionen für Folgendes festlegen:
- Setzen Sie eine spezifische API-Version.
- Stellen Sie Anfragen für Ihre verbundenen Konten.
- Geben Sie Idempotenz-Schlüssel an.
Fehlerbehebung
Jedes Server-SDK interpretiert Fehlerantworten von der Stripe-API als Ausnahmetypen, sodass Sie den Antwortstatus nicht selbst analysieren müssen. Verwenden Sie für jede Sprache geeignete Fehlerbehandlungskonventionen, um mit diesen Fehlern umzugehen.
Erfahren Sie mehr über die Fehlerbehebung.
Undocumented params and fields 
In some cases, you might encounter parameters on an API request or fields on an API response that aren’t available using the SDKs for strongly typed languages. Use the workarounds in this section to send undocumented parameters or access undocumented fields.
Nicht dokumentierte Parameter senden:
Zugriff auf nicht dokumentierte Felder:
Quellcode
Der Quellcode für jedes unserer Server-SDKs ist auf GitHub verfügbar:
Sprache | Repository |
---|---|
Ruby | stripe-ruby |
PHP | stripe-php |
Java | stripe-Java |
Node | stripe-node |
Python | stripe-python |
.NET | stripe-dotnet |
Go | stripe-go |
StripeClient
Die StripeClient
-Klasse fungiert als Einstiegspunkt, um Ressourcen zu entdecken und Anfragen an die Stripe-API zu stellen. Die Vorteile der Verwendung dieses Musters gegenüber dem älteren, das eine globale Konfiguration verwendete, sind:
- Sie können gleichzeitig mehrere Clients mit unterschiedlichen Konfigurationsoptionen (wie API-Schlüsseln) verwenden.
- Es ermöglicht einfacheres Mocking während des Testens, da
StripeClient
keine statischen Methoden verwendet. - Keine zusätzlichen API-Aufrufe. In einigen Programmiersprachen musste man vor einer Aktualisierung oder einer Löschung zunächst einen Abruf durchführen. Bei Verwendung von
StripeClient
können Sie auf alle API-Endpoints mit einem einzigen Methodenaufruf zugreifen.
Das Node.js SDK hatte immer die Stripe
-Klasse, die dem gleichen Muster folgte. Für die übrigen Programmiersprachen wurde das neue Muster in den folgenden SDK-Versionen eingeführt. Wenn Sie den Code vergleichen, der auf ältere Versionen dieser Bibliotheken mit dem alten Muster abzielt, könnten die Aufrufe unterschiedlich aussehen.
Migrationsleitfäden | Veröffentlichung von StripeClient |
---|---|
stripe-php-Migrationshandbuch | 7.33.0 |
stripe-python-Migrationsleitfaden | 8.0.0 |
stripe-java Migrationshandbuch | 23.0.0 |
stripe-ruby Migrationshandbuch | 13.0.0 |
stripe-dotnet Migrationshandbuch | 46.0.0 |
stripe-go Migrationshandbuch | 82.1.0 |
Beta-Versionen
Stripe hat Funktionen in der öffentlichen Vorschauphase, auf die Sie über Versionen der SDKs mit dem Suffix -beta.
(zum Beispiel 15.
) zugreifen können. Erfahren Sie mehr über den Öffentlichen Vorschau-Release-Kanal.