# Bewegen von Geld mithilfe von ReceivedDebit-Objekten Erfahren Sie, wie Inhaber/innen externer Konten Geld von einem Finanzkonto abheben können. Bestimmte Prozesse, die außerhalb von Treasury für Plattformen initiiert werden, führen dazu, dass Geld von einem Finanzkonto abgebucht wird. Dazu gehören Folgende: - Ausgeben von Geld mit einer Karte über [Stripe-Issuing](https://docs.stripe.com/issuing/purchases/transactions.md#transactions) - Mit ACH-Lastschriften Geld von einem Finanzkonto auf ein externes Konto abziehen - Übertragen von Geldbeträgen vom Finanzkonto einer Plattform auf das Stripe Payments-Guthaben dieser Plattform unter Verwendung von [Aufstockungen](https://docs.stripe.com/treasury/connect/moving-money/payouts.md#top-ups) Diese Geldbewegungen führen zur Erstellung von `ReceivedDebit`-Objekten. Sie erstellen `ReceivedDebits` nicht direkt, sondern beobachten die Erstellung des `ReceivedDebit`-Objekts mit Webhooks. Wenn das Konto nicht ausreichend gedeckt ist, schlägt `ReceivedDebit` in den meisten Fällen fehl. ## ReceivedDebit abrufen Verwenden Sie `GET /v1/treasury/received_debits/{{RECEIVED_DEBIT_ID}}`, um die `ReceivedDebit` mit der zugehörigen ID abzurufen. ```curl curl https://api.stripe.com/v1/treasury/received_debits/{{RECEIVED_DEBIT_ID}} \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" ``` Bei Erfolg gibt die Antwort das `ReceivedDebit` Objekt mit der zugehörigen ID zurück. Einige der Parameter in der Antwort enthalten zusätzliche Details, die nur zurückgegeben werden, wenn Sie sie als Werte zum `expand[]`-Parameter hinzufügen. Die Felder, die Sie erweitern können, haben im folgenden Antwortbeispiel den Kommentar „Erweiterbar“. Weitere Informationen zum Erweitern von Objektantworten finden Sie unter [Antworten erweitern](https://docs.stripe.com/api/expanding_objects.md). #### JSON (mit Kommentar) ```json { "id": "{{RECEIVED_DEBIT_ID}}", "object": "received_debit", "livemode": Boolean, "created": Timestamp, // The FinancialAccount funds have been pulled from "financial_account": "{{FINANCIAL_ACCOUNT_ID}}", // Expandable "amount": 1000, "currency": "usd", "description": "Testing", // ReceivedCredits are created with a status of either succeeded (approved) or failed // (declined). When failed, no Transaction is created. The failure reason can be found // under "failure_code". "status": "succeeded" | "failed", // The network that was used for this movement // Can only be ach today "network": "ach", // Information about how the debit was created. "received_payment_method_details": { "type": "us_bank_account" | "balance" | "financial_account", // Only set if type is `us_bank_account`. // This contains information of the source external bank account. "us_bank_account": nil | { "bank_name": String, "routing_number": "12341234", "last4": "6789" }, // Only set if type is `financial_account`. // This contains information of the source FinancialAccount. "financial_account": nil | { "id": "{{DESTINATION_FINANCIAL_ACCOUNT_ID}}" }, // Only set if type is `balance`. // This is only set when the source is a Payout. "balance": nil | "payments", "billing_details": nil | { "name": nil | String, "phone": nil | String, "email": nil | String, "address": nil | { "line1": nil | String, "line2": nil | String, "city": nil | String, "state": nil | String, "postal_code": nil | String, "country": nil | String } } }, // A unique, Stripe-hosted direct link to the regulatory receipt for the ReceivedDebit "hosted_regulatory_receipt_url": Url, "reversal_details": { "restricted_reason": nil | "source_flow_restricted" | "network_restricted" | "deadline_passed" | "already_reversed", "deadline": nil | Timestamp, }, "linked_flows": { // DebitReversals allow you to reverse a ReceivedDebit as long as it's before the reversal_details['deadline'] // If reversed, the ReceivedDebit will link to the DebitReversal. "debit_reversal": nil | "{{DEBIT_REVERSAL_ID}}", "returns_flow": nil | "{{INBOUND_TRANSFER_ID}}", }, // nil when status succeeded "failure_code": "insufficient_funds" | "account_closed" | "account_frozen", "failure_message": "The ReceivedDebit could not be completed because the Financial Account doesn't have a sufficient balance available. Please try again using an amount less than or equal to the Financial Account’s available balance." | "Funds can't be sent or withdrawn from this Financial Account because it has been closed. Please re-open the account, or try again with another Financial Account." | "Funds can't be sent or withdrawn from this Financial Account because it has been frozen.", // Transaction created by the ReceivedDebit. Only set for succeeded ReceivedDebits. "transaction": nil | "{{TRANSACTION_ID}}", // Expandable } ``` ## ReceivedDebits auflisten Verwenden Sie `GET /v1/treasury/received_debits`, um alle `ReceivedDebits` für ein Finanzkonto abzurufen. Sie müssen eine Finanzkonto-ID für den Parameter `financial_account` angeben. Sie können die Ergebnisse nach den Standardlistenparametern oder nach `status` filtern. ```json { // Standard list parameters "limit", "starting_after", "ending_before", // Filter by FinancialAccount (Required) "financial_account": "{{FINANCIAL_ACCOUNT_ID}}", // Filter by status "status": "succeeded" | "failed" } ``` Die folgende Anfrage ruft das letzte erfolgreiche [ReceivedDebit-Objekt](https://docs.stripe.com/api/treasury/received_debits/object.md) ab, das vor der bereitgestellten `ReceivedDebit` für das erkannte Finanzkonto aufgetreten ist. ```curl curl -G https://api.stripe.com/v1/treasury/received_debits \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d "financial_account={{TREASURYFINANCIALACCOUNT_ID}}" \ -d limit=1 \ -d ending_before={{RECEIVED_DEBIT_ID}} ``` ## ReceivedDebits testen Treasury für Plattformen bietet Test-Endpoints für `ReceivedDebit`-Objekte. Verwenden Sie in Testumgebungen `POST /v1/test_helpers/treasury/received_debits`, um die Erstellung einer `ReceivedDebit` zu simulieren. Sie können keine `ReceivedDebit`-Objekte im Live-Modus erstellen. Daher ermöglicht Ihnen dieser Endpoint, den Geldfluss zu testen, wenn ein Dritter die Erstellung einer `ReceivedDebit` einleitet. Setzen Sie `financial_account` auf die ID des Finanzkontos, von dem Geld gesendet werden soll. Setzen Sie das `network` auf `ach` und geben Sie optional die ABA-Finanzadressdaten für den Parameter `source_details.aba` ein. Wie im Live-Modus testen Sie das Fehlschlagen von `ReceivedDebits`, wenn nicht genügend Mittel zur Verfügung stehen. ## ReceivedDebit-Webhooks Stripe gibt die folgenden `ReceivedDebit`-Ereignisse an Ihren [Webhook](https://docs.stripe.com/webhooks.md)-Endpoint aus: - `treasury.received_debit.created` bei der Erstellung von `ReceivedDebit`.