Mit Treasury-Finanzkonten arbeiten
Verwenden Sie Finanzkonten zum Aufbewahren, Senden und Empfangen von Geldern.
Nachdem Sie API-Zugriff auf Treasury erhalten haben, fügt Stripe Ihrem Plattformkonto ein Finanzkonto hinzu und ermöglicht Ihnen die Bereitstellung von Finanzkonten für berechtigte verbundene Konten auf Ihrer Plattform. Jedes Finanzkonto hat ein eigenes Guthaben, das vom Saldo des Kontos, mit dem es verknüpft ist, getrennt ist. Der/die Inhaber/in eines verbundenen Kontos auf Ihrer Plattform könnte beispielsweise über ein 100 USD Guthaben auf dem verbundenen Konto und ein 200 USD Guthaben auf dem Finanzkonto verfügen. In diesem Szenario verfügt der/die Inhaber/in des verbundenen Kontos über eine Summe von 300 USD, die zwischen dem Finanzkonto und den Salden des verbundenen Kontos verteilt ist. Diese beiden Guthaben bleiben getrennt, aber mit der API können Gelder vom Saldo des verbundenen Kontos zum Saldo des Finanzkontos bewegt werden.
In der Stripe API dienen FinancialAccount
-Objekte als Quelle und Ziel von API-Anfragen für Geldbewegungen. Sie fordern Features
über die API an, die FinancialAccounts
zugewiesen werden und zusätzliche Funktionen für die Finanzkonten auf Ihrer Plattform bereitstellen. Um beispielsweise Zahlungskartenfunktionen für ein bestimmtes Finanzkonto zu aktivieren, senden Sie eine API-Anfrage mit der FinancialAccount
-ID für die Funktion card_
. Weitere Informationen zu Feature
-Objekten finden Sie unter Funktionen von Finanzkonten. Lesen Sie den Abschnitt Verfügbare Funktionen in diesem Leitfaden, um die erforderlichen Funktionen für verbundene Konten für jedes Feature
zu überprüfen.
Bevor Sie Finanzkonten im Live-Modus für Ihre Treasury-Integration erstellen, empfehlen wir Ihnen, zunächst Finanzkonten in einer Sandbox-Umgebung zu erstellen. Test-Finanzkonten können kein echtes Geld empfangen oder senden, können nicht im Live-Modus verwendet werden und generieren kein Live-Konto mit echten Routing- und Kontoinformationen, sind aber ansonsten hinsichtlich Konfiguration und Funktionalität identisch.
FinancialAccount erstellen
Verwenden Sie POST /v1/treasury/financial_
, um FinancialAccounts
zu erstellen. Nehmen Sie die verbundene Konto-ID als Wert des Stripe-Account
-Header des Aufrufs auf, um das FinancialAccount
einem verbundenen Konto zuzuordnen.
Mit Ihrem Plattformkonto und verbundenen Konten können mehrere Finanzkonten verknüpft sein. Sie können ein weiteres Finanzkonto auf Ihrem verbundenen Konto erstellen, indem Sie die ID des verbundenen Kontos als Wert in der Stripe-Account
-Kopfzeile angeben. Sie können maximal 3 Finanzkonten einem einzigen verbundenen Konto zuordnen (geschlossene Finanzkonten tragen nicht zum Limit bei). Das gleiche Limit gilt für die Anzahl der Finanzkonten, die dem Plattformkonto zugeordnet sind. Wenn Sie einen höheren Schwellenwert für Ihr Konto benötigen, kontaktieren Sie treasury-support@stripe.com.
Die folgende JSON definiert die Objektstruktur des FinancialAccount
:
In der Regel fordern Sie bei einer API-Anfrage zur Kontoerstellung auch Finanzkontofunktionen an. Unabhängig von den von Ihnen angeforderten Features
muss für das verbundene Konto die treasury
-Funktion aktiviert sein. Wenn Sie sich nicht sicher sind, ob das verbundene Konto über die Funktion verfügt, überprüfen Sie dies mithilfe von GET /v1/accounts/{{CONNECTED_
. Der capabilities
-Hash des Kontos muss den treasury
-Wert active
haben.
… "capabilities": { "card_issuing": "active", "card_payments": "active", "transfers": "active", "treasury": "active", "us_bank_account_ach_payments": "active" }, …
Wenn Sie Karten ausstellen möchten, die mit dem Saldo des Finanzkontos verknüpft sind, muss für die verbundenen Konten Ihrer Plattform außerdem die Funktion „Issuing“ (card_
) aktiviert sein. Das verbundene Konto muss über diese Funktion verfügen, bevor Sie die Funktion card_
für sein Finanzkonto anfordern können. Wenn das verbundene Konto nicht über diese Funktion verfügt, führt der Versuch, ein FinancialAccount
mit einer Anforderung für die Funktion card_
zu erstellen, zu einem Fehler.
Legen Sie das Feld nickname
eines FinancialAccount
-Objekts fest, um einen nutzerdefinierten Namen für das Finanzkonto festzulegen. Sie können Kurznamen verwenden, um Kennungen zu erstellen. Dies ist nützlich, wenn Sie mit mehreren Finanzkonten unter einem einzigen verbundenen Konto arbeiten. Gültige Kurznamen müssen wie folgt aussehen:
- Eine nicht leere Zeichenfolge sein
- Weniger als 250 Zeichen enthalten
Wenn Sie bei der Kontoerstellung keinen Kurznamen angeben, bleibt das Feld für den Kurznamen leer und gibt null
zurück. Sie können Kurznamen nach dem Erstellen eines FinancialAccount
aktualisieren.
Die folgende Anfrage erstellt ein Finanzkonto, das dem verbundenen Konto mit der in der Stripe-Account
-Kopfzeile zugeordneten ID zugewiesen ist.
Die Antwort ist ein FinancialAccount
-Objekt, um die Erstellung eines Finanzkontos zu bestätigen.
{ "object": "treasury.financial_account", "created": 1612927106, "id": "{{FINANCIAL_ACCOUNT_ID}}", "country": "US", "supported_currencies": ["usd"], "active_features": [ "card_issuing", ], // Features that require activation enter a pending state before activating
FinancialAccount aktualisieren
Verwenden Sie POST /v1/treasury/financial_
, um das FinancialAccount
mit der zugehörigen ID zu aktualisieren. Fügen Sie die ID des verbundenen Kontos als Wert des Headers Stripe-Account
ein. Im folgenden Beispiel werden die Metadaten des FinancialAccount aktualisiert.
FinancialAccount und Kontonummer abrufen
Verwenden Sie GET /v1/treasury/financial_
, um das FinancialAccount
mit der zugehörigen ID abzurufen. Fügen Sie die zugehörige ID des verbundenen Kontos als Stripe-Account
-Kopfzeilenwert ein.
Standardmäßig ist die Kontonummer für ein Finanzkonto nicht in der Antwort enthalten. Um die Kontonummer abzurufen, fügen Sie das Feld financial_
in das expand
-Array ein.
Bei Erfolg wird in der Antwort das FinancialAccount
-Objekt mit oder ohne Kontonummer zurückgegeben, je nachdem ob das expand
-Array enthalten ist.
Weitere Informationen zum Parameter expand
finden Sie unter Erweiterung der Antworten.
Übersicht der Funktionen
Das FinancialAccount
-Objekt enthält eine Zusammenfassung der Zustände all seiner Features
in drei Arrays – active_
, pending_
und restricted_
.
{ "object": "treasury.financial_account", "id": "fa_987", "status": "open", ... "active_features": ["card_issuing"], "pending_features": ["financial_addresses.aba"], "restricted_features": ["outbound_transfers.ach"], }
In diesen Arrays können Sie Folgendes schnell und bequem einsehen:
- Inaktive Funktionen (die in
pending_
oderfeatures restricted_
enthalten sind)features - Aktive Funktionen (in
active_
enthalten)features - Eingeschränkte Funktionen, die Maßnahmen erfordern (in
restricted_
enthalten)features
Weitere Informationen finden Sie unter Funktionen von Finanzkonten
FinancialAccount schließen
Sie können ein Finanzkonto dauerhaft schließen, wenn es folgende Bedingungen erfüllt:
- Es gibt keine ausstehenden eingehenden Zahlungen.
- Alle angehängten Issuing-Karten werden storniert.
- Der Kontostand ist Null und für das Konto liegt für die letzten 75 Tage keine Aktivität vor. Alternativ können Sie ein anderes Finanzkonto oder ein externes Konto angeben, an das eingehende Belastungen und Gutschriften weitergeleitet werden.
Achtung
Finanzkonten können nach der Schließung nicht wieder geöffnet werden.
Das Schließen eines Finanzkontos hat keine Auswirkungen auf die Datenspeicherung für zugehörige Objekte, wie z. B. Transactions
.
FinancialAccount-Schließung mit der API
Sie können POST/v1/treasury/financial_
verwenden, um das Finanzkonto mit der zugehörigen ID zu schließen. Fügen Sie die zugehörige ID des verbundenen Kontos als Wert für den Header ein.
curl https://api.stripe.com/v1/treasury/financial_accounts/{{FINANCIAL_ACCOUNT_ID}}/close \ -u
: \ -X "POST" \ -H "Stripe-Account: {{CONNECTED_STRIPE_ACCOUNT_ID}}"sk_test_BQokikJOvBiI2HlWgH4olfQ2
Die Antwort ist das FinancialAccount
-Objekt mit dem status
closed
, um die Aktion zu bestätigen.
{ "id": "{{FINANCIAL_ACCOUNT_ID}}", "object": "treasury.financial_account", "status": "closed", "status_details": { "closed": { "reasons": ["closed_by_platform"] } }, "active_features": [], "pending_features": [], "restricted_features": ["financial_addresses.aba"], ... }
Umgang mit Transaktionen auf geschlossene Konten
In seltenen Fällen können Finanzkonten Gutschriften oder Abbuchungen für geschlossene Konten erhalten, die Stripe nicht automatisch zurückgeben kann. Als Inhaber/in einer Plattform sind Sie für negative Salden verantwortlich, die nach der Schließung eines Kontos entstehen. Der Stripe-Support arbeitet mit Ihnen zusammen, um verbleibende Gelder an den/die Verkäufer/in oder Dienstleister/in zurückzugeben und geschlossene Konten mit einem negativen Saldo zu bereinigen. Durch Einbeziehung von Weiterleitungseinstellungen beim Schließen eines Finanzkontos kann Stripe automatisch Last- und Gutschriften an das ausgewählte Konto weiterleiten.
Webhooks
Sie können Finanzkonten erstellen, bevor Sie die Onboarding-Anforderungen erfüllen. In diesem Fall wird das Finanzkonto asynchron geöffnet und dann der Webhook treasury.
mit einer aktualisierten Ansicht für alle Funktionen ausgelöst, die aufgrund ausstehender Onboarding-Anforderungen noch eingeschränkt sind.
account.
updated - Bei der Anforderung neuer Funktionen erhält die Plattform möglicherweise den Webhook
account.
, der Sie darüber informiert, dass sich der Anforderungs-Hash geändert hat und einige neue Felder jetzt den Statusupdated pending_
haben.verification
- Bei der Anforderung neuer Funktionen erhält die Plattform möglicherweise den Webhook
treasury.
financial_ account. created - Wird immer ausgelöst, wenn ein neues FinancialAccount erstellt wird.
treasury.
financial_ account. closed - Benachrichtigt, wenn sich der Status des FinancialAccount der obersten Ebene in „geschlossen“ ändert.
treasury.
financial_ account. features_ status_ updated - Weist darauf hin, dass eine oder mehr Funktionen ihren Status geändert haben. Dies wird in den Änderungen an den Arrays
active_
oderfeatures, pending_ features restricted_
widergespiegelt.features
- Weist darauf hin, dass eine oder mehr Funktionen ihren Status geändert haben. Dies wird in den Änderungen an den Arrays