# Mit Finanzkonten arbeiten Verwenden Sie Finanzkonten zum Aufbewahren, Senden und Empfangen von Geldern. > #### Kompatibilität mit der Accounts v2 API > > Die Accounts v2 API unterstützt keine Financial Accounts-Workflows. Wenn Sie Konten mit Accounts v2 erstellt haben, können Sie Accounts v1 verwenden, um die Funktionen `treasury` and `card_issuing` zu verwalten. Weitere Informationen finden Sie unter [Konten als Kundinnen und Kunden verwenden](https://docs.stripe.com/connect/use-accounts-as-customers.md). Nachdem Sie [API-Zugriff auf Finanzkonten für Plattformen erhalten](https://docs.stripe.com/financial-accounts/connect/access.md), 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](https://docs.stripe.com/financial-accounts/connect/account-management/working-with-balances-and-transactions.md), 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 `Features` über die API zur Zuweisung an `FinancialAccounts` 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_issuing`-Funktion. Siehe [Funktionen des Finanzkontos](https://docs.stripe.com/financial-accounts/connect/account-management/financial-account-features.md) für weitere Informationen zu `Feature`-Objekten. Siehe den Abschnitt [Verfügbare Funktionen](https://docs.stripe.com/financial-accounts/connect/account-management/financial-account-features.md#available-features) in diesem Leitfaden, um sich über die erforderlichen Fähigkeiten für verbundene Konten für jedes `Feature` zu informieren. 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* (A sandbox is an isolated test environment that allows you to test Stripe functionality in your account without affecting your live integration. Use sandboxes to safely experiment with new features and changes)-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_accounts`, 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. Ihr Plattformkonto und verbundene Konten können mehrere Finanzkonten haben. Sie können ein weiteres Finanzkonto für Ihr verbundenes Konto erstellen, indem Sie die ID des verbundenen Kontos als Wert im `Stripe-Account`-Header angeben. Sie können maximal 3 Finanzkonten mit einem einzigen verbundenen Konto verknüpfen (geschlossene Finanzkonten zählen nicht zu diesem Limit). Das gleiche Limit gilt für die Anzahl der mit dem Plattformkonto verbundenen Finanzkonten. Wenn Sie ein höheres Limit für Finanzkonten benötigen, wenden Sie sich an [treasury-support@stripe.com](mailto:treasury-support@stripe.com). Die folgende JSON definiert die Objektstruktur des `FinancialAccount`: #### JSON (mit Kommentar) ```json { "object": "treasury.financial_account", "created": 1612927106, "id": "fa_123", "country": "US", "supported_currencies": ["usd"], // Arrays of active, pending and restricted features summarize the status of all requested features "active_features": ["financial_addresses.aba", "deposit_insurance"], "pending_features": ["inbound_transfers.ach"], "restricted_features": ["intra_stripe_flows", "outbound_payments.ach", "outbound_payments.us_domestic_wire"], "balance": { "cash": {"usd": 9000}, "inbound_pending": {"usd": 0}, "outbound_pending": {"usd": 1000} }, // The FinancialAccount gains a FinancialAddress once the `financial_addresses.aba` feature is active. For more information, see "Activating features" "financial_addresses": [ { "type": "aba", "supported_networks": ["ach", "domestic_wire_us"], "aba": { "account_number_last4": "7890", // Use the expand[] parameter to view the `account_number` field hidden by default "account_number": "1234567890", "routing_number": "000000001", "bank_name": "Goldman Sachs" } } ], "livemode": true, // Financial accounts begin in the "open" state, but can be closed // `status_details.closed` is populated once a financial account is closed "status": "open", "status_details": { "closed": { // List of one or more reasons why the FinancialAccount was closed: // - account_rejected // - closed_by_platform // - other "reasons": [] } }, // User-defined metadata "metadata": {}, "nickname": {}, // Restrictions that the platform can apply to the FinancialAccount "platform_restrictions": { "inbound_flows": "unrestricted", "outbound_flows": "restricted" } } ``` In der Regel fordern Sie auch [Funktionen des Finanzkontos](https://docs.stripe.com/financial-accounts/connect/account-management/financial-account-features.md) an, wenn Sie die API-Anforderung zum Erstellen des Kontos stellen. Unabhängig von den `Features`, 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_ACCOUNT_ID}}`, um dies zu überprüfen. Der Hash `capabilities` des Kontos muss den `treasury`-Wert `active` besitzen. > #### Kompatibilität mit der Accounts v2 API > > Die Accounts v2 API unterstützt keine Financial Accounts-Workflows. Wenn Sie Konten mit Accounts v2 erstellt haben, können Sie Accounts v1 verwenden, um die Funktionen `treasury` and `card_issuing` zu verwalten. Weitere Informationen finden Sie unter [Konten als Kundinnen und Kunden verwenden](https://docs.stripe.com/connect/use-accounts-as-customers.md). ```json … "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_issuing`) aktiviert sein. Das verbundene Konto muss über diese Funktion verfügen, bevor Sie die Funktion `card_issuing` 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_issuing` 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](https://docs.stripe.com/financial-accounts/connect/account-management/financial-accounts.md#update-a-financialaccount), nachdem Sie einen `FinancialAccount` erstellt haben. Die folgende Anfrage erstellt ein Finanzkonto, das dem verbundenen Konto mit der in der `Stripe-Account`-Kopfzeile zugeordneten ID zugewiesen ist. ```curl curl https://api.stripe.com/v1/treasury/financial_accounts \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d "supported_currencies[]=usd" \ -d nickname={{OPTIONAL_NICKNAME}} \ -d "features[card_issuing][requested]=true" \ -d "features[deposit_insurance][requested]=true" \ -d "features[financial_addresses][aba][requested]=true" \ -d "features[inbound_transfers][ach][requested]=true" \ -d "features[intra_stripe_flows][requested]=true" \ -d "features[outbound_payments][ach][requested]=true" \ -d "features[outbound_payments][us_domestic_wire][requested]=true" \ -d "features[outbound_transfers][ach][requested]=true" \ -d "features[outbound_transfers][us_domestic_wire][requested]=true" ``` Die Antwort ist ein `FinancialAccount`-Objekt, um die Erstellung eines Finanzkontos zu bestätigen. ```json { "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 "pending_features": [ "deposit_insurance", "financial_addresses.aba", "inbound_transfers.ach", "intra_stripe_flows", "outbound_payments.ach", "outbound_payments.us_domestic_wire", "outbound_transfers.ach", "outbound_transfers.us_domestic_wire" ], "restricted_features": [], // A FinancialAddress is not added until the financial_addresses.aba feature has been activated "financial_addresses": [], "livemode": true, "nickname": "{{ACCOUNT_NICKNAME}}", "status": "open", ... } ``` ## FinancialAccount aktualisieren Verwenden Sie `POST /v1/treasury/financial_accounts/{{FINANCIAL_ACCOUNT_ID}}`, 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](https://docs.stripe.com/api/metadata.md) des FinancialAccount aktualisiert. ```curl curl https://api.stripe.com/v1/treasury/financial_accounts/{{TREASURYFINANCIALACCOUNT_ID}} \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d "metadata[key]=value" ``` ## FinancialAccount und Kontonummer abrufen Verwenden Sie `GET /v1/treasury/financial_accounts/{{FINANCIALACCOUNT_ID}}`, um das `FinancialAccount` mit der zugehörigen ID abzurufen. Fügen Sie die zugehörige ID des verbundenen Kontos als `Stripe-Account`-Kopfzeilenwert ein. ```curl curl https://api.stripe.com/v1/treasury/financial_accounts/{{TREASURYFINANCIALACCOUNT_ID}} \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" ``` Standardmäßig ist die Kontonummer für ein Finanzkonto nicht in der Antwort enthalten. Um die Kontonummer abzurufen, fügen Sie das Feld `financial_addresses.aba.account_number` in das `expand`-Array ein. ```curl curl -G https://api.stripe.com/v1/treasury/financial_accounts/{{TREASURYFINANCIALACCOUNT_ID}} \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d "expand[]=financial_addresses.aba.account_number" ``` Bei Erfolg wird in der Antwort das `FinancialAccount`-Objekt mit oder ohne Kontonummer zurückgegeben, je nachdem ob das `expand`-Array enthalten ist. #### Antwort mit erweitertem Konto ```json { "id": {{FINANCIAL_ACCOUNT_ID}}, ... "financial_addresses": [ { "aba": { "account_holder_name": "jenny", "account_number": "4242424242420239", "account_number_last4": "0239", "bank_name": "Stripe Test Bank", "routing_number": "000000001" }, ... } ], ... } ``` Weitere Informationen zum Parameter `expand` finden Sie unter [Erweiterung der Antworten](https://docs.stripe.com/expand.md). ### Übersicht der Funktionen Das `FinancialAccount`-Objekt enthält eine Zusammenfassung der Zustände all seiner `Features` in drei Arrays – `active_features`, `pending_features` und `restricted_features`. ```json { "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_features` oder `restricted_features` enthalten sind) - Aktive Funktionen (in `active_features` enthalten) - Eingeschränkte Funktionen, die Maßnahmen erfordern (in `restricted_features` enthalten) Siehe [Funktionen des Finanzkontos](https://docs.stripe.com/financial-accounts/connect/account-management/financial-account-features.md) 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](https://docs.stripe.com/financial-accounts/connect/examples/moving-money.md#verifying-an-external-bank-account) angeben, um eingehende Lastschriften und Gutschriften dorthin [weiterzuleiten](https://docs.stripe.com/financial-accounts/connect/account-management/financial-accounts.md#handling-transactions-on-closed-accounts). > 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_accounts/{{FINANCIAL_ACCOUNT_ID}}/close` 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. ```bash curl https://api.stripe.com/v1/treasury/financial_accounts/{{FINANCIAL_ACCOUNT_ID}}/close \ -u <>: \ -X "POST" \ -H "Stripe-Account: {{CONNECTED_STRIPE_ACCOUNT_ID}}" ``` ```curl curl -X POST https://api.stripe.com/v1/treasury/financial_accounts/{{TREASURYFINANCIALACCOUNT_ID}}/close \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" ``` Die Antwort ist das `FinancialAccount`-Objekt mit dem `status` `closed`, um die Aktion zu bestätigen. ```json { "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](https://docs.stripe.com/api/treasury/financial_accounts/close.md). Im folgenden Beispiel wird ein externes Bankkonto als Weiterleitungskonto verwendet. ```curl curl https://api.stripe.com/v1/treasury/financial_accounts/{{TREASURYFINANCIALACCOUNT_ID}}/close \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d "forwarding_settings[type]=payment_method" \ -d "forwarding_settings[payment_method]={{PAYMENTMETHOD_ID}}" ``` ## 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](https://docs.stripe.com/webhooks.md) `treasury.financial_account.features_status_updated` 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.updated`, der Sie darüber informiert, dass sich der Anforderungs-Hash geändert hat und einige neue Felder jetzt den Status `pending_verification` haben. - `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_features, pending_features` oder `restricted_features` widergespiegelt.