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 im Test-Modus zu erstellen. Finanzkonten im Test-Modus 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.
Verbundenen Konten können mehrere Finanzkonten zugeordnet sein, indem dieselbe ID des verbundenen Kontos als Wert im Stripe-Account
-Header angegeben wird. Sie können maximal 1 Finanzkonten mit einem einzigen verbundenen Konto verknüpfen (geschlossene Finanzkonten werden hierbei nicht berücksichtigt). Wenn Sie mehr Finanzkonten verknüpfen möchten, wenden Sie sich an 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.
Sie können das Feld nickname
eines FinancialAccount
-Objekts festlegen, um dem Finanzkonto einen nutzerdefinierten Namen zuzuweisen. Sie können Kurznamen verwenden, um eindeutige Kennungen zu erstellen. Diese können Sie nutzen, wenn Sie mit mehreren Finanzkonten unter einem einzigen verbundenen Konto arbeiten. Damit Kurznamen gültig sind, müssen sie:
- Für jedes Finanzkonto unter einem bestimmten verbundenen Konto eindeutig sein
- 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.
Um ein Finanzkonto zu schließen, wenden Sie sich an treasury-support@stripe.com und geben Sie die ID des FinancialAccount
an, das Sie schließen möchten, sowie den Grund für die Schließung. Sie müssen Ihrer Nutzer/innen Mitteilungen über die Kontoschließung zukommen lassen, wie in den Konformitätsrichtlinien von Treasury beschrieben.
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_4eC39HqLyjWDarjtT1zdp7dc
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