Mit Finanzkonten arbeiten
Verwenden Sie Finanzkonten zum Aufbewahren, Senden und Empfangen von Geldern.
Nachdem Sie API-Zugriff auf Finanzkonten für Plattformen erhalten, verknüpft Stripe ein Finanzkonto mit Ihrem Plattformkonto und ermöglicht es Ihnen, Finanzkonten für berechtigte verbundene Konten auf Ihrer Plattform bereitzustellen. Jedes Finanzkonto hat sein eigenes Guthabensaldo, getrennt vom Saldo des Kontos, mit dem es verknüpft ist. Zum Beispiel könnte der Inhaber eines verbundenen Kontos auf Ihrer Plattform ein verbundenes Konto mit dem Kontostand und ein Finanzkonto mit dem Kontostand besitzen. In diesem Szenario besitz der Inhaber des verbundenen Kontos eine Summe von aus dem Guthaben seinem Finanzkonto und des verbundenen Kontos. Diese beiden Salden bleiben getrennt, aber die API bietet die Möglichkeit, Geld vom Guthaben des verbundenen Kontos auf das Guthaben des Finanzkontos zu übertragen.
In der Stripe-API dienen FinancialAccount-Objekte als Quelle und Ziel von API-Anfragen für Geldbewegungen. Sie fordern Funktionen über die API zur Zuweisung an Finanzkonten an, die eine erweiterte Funktionalität für die Finanzkonten auf Ihrer Plattform bieten. Um beispielsweise die Funktionen von Zahlungskarten für ein bestimmtes Finanzkonto zu aktivieren, senden Sie eine API-Anfrage mit der FinancialAccount-ID für die card_-Funktion. Siehe Funktionen des Finanzkontos für weitere Informationen zu Funktions-Objekten. Siehe den Abschnitt Verfügbare Funktionen in diesem Leitfaden, um sich über die erforderlichen Fähigkeiten für verbundene Konten für jede Funktion zu informationen.
Bevor Sie Finanzkonten im Live-Modus für die Integration Ihrer Finanzkonten für Plattformen erstellen, empfehlen wir Ihnen, zunächst Testfinanzkonten in einer Sandbox-Umgebung zu erstellen. Testfinanzkonten können kein echtes Geld empfangen oder senden, können nicht in Live-Modus verwendet werden und generieren kein Live-Konto mit echten Routing und echten Kontodaten, sind aber ansonsten in 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 auch Funktionen des Finanzkontos an, wenn Sie die API-Anforderung zum Erstellen des Kontos stellen. Unabhängig von den Funktionen, die Sie anfordern, muss bei dem verbundenen Konto über die Funktion Treasury aktiviert sein. Wenn Sie sich nicht sicher sind, ob das verbundene Konto über diese Funktion verfügt, verwenden Sie GET /v1/accounts/{{CONNECTED_, um dies zu überprüfen. Der Hash Funktionen des Kontos muss den Treasury-Wert aktiv besitzen.
… "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 Spitznamen angeben, ist das Feld für den Spitznamen leer und wird als null zurückgegeben. Sie können Spitznamen aktualisieren, nachdem Sie ein Finanzkonto erstellt haben.
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
Siehe Funktionen des Finanzkontos für weitere Informationen.
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 Konto-Saldo ist Null und das Konto hat in den letzten 75 Tagen keine Aktivität verzeichnet. Alternativ können Sie ein anderes Finanzkonto oder ein verifiziertes externes Konto angeben, um eingehende Lastschriften und Gutschriften dorthin weiterzuleiten.
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.
Geben Sie Weiterleitungseinstellungen an, wenn Sie das Finanzkonto schließen. Im folgenden Beispiel wird ein externes Bankkonto als Weiterleitungskonto verwendet.
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