Finanzkontofunktionen
Sie fügen Finanzkonten Funktionen hinzu, mittels derer sie Geld zwischen Konten verschieben und Zahlungskarten anhängen können und vieles mehr. In der Regel weisen Sie die gewünschten Feature
-Objekte während der Erstellung von FinancialAccount
-Objekten zu, können diese aber jederzeit hinzufügen und entfernen. Einige Features
erfordern, dass für das mit dem Finanzkonto verknüpfte verbundene Konto, bestimmte Funktionen aktiviert sind. Dies gilt beispielsweise für die Funktion card_issuing
. Diese muss aktiviert sein, bevor Sie card_issuing
für das mit diesem verbundenen Konto verknüpfte Finanzkonto anfordern können.
Verfügbare Funktionen
Die folgende Tabelle führt die verfügbaren Features
für ein FinancialAccount
sowie die Funktionen auf, die auf dem zugehörigen verbundenen Konto aktiviert sein müssen, um sie hinzuzufügen.
Notiz
Sie müssen die folgenden Funktionen anfordern oder aktiviert haben, bevor Sie die treasury
-Funktion für verbundene Konten anfordern können:
transfers
card_payments
Funktion | Beschreibung | Erforderliche Funktionen |
---|---|---|
card_issuing | Erlaubt die Erstellung eines Card -Objekts, das mit diesem FinancialAccount verknüpft ist. | card_issuing |
deposit_insurance | Fordert FDIC-Versicherungsanspruch für das Finanzkonto an. | treasury |
financial_addresses.aba | Löst die Erstellung einer FinancialAddress vom Typ ABA aus, die mit diesem Finanzkonto verknüpft ist. Wenn diese Funktion aktiviert ist, kann die Adresse Geld über ACH oder per Überweisung empfangen, und Geld kann von externen Bankkonten abgebucht werden. | treasury |
inbound_transfers.ach | Ermöglicht die Erstellung von InboundTransfer -Objekten zur Finanzierung des Finanzkontos durch Belastung eines externen US-Bankkontos. | treasury , us_bank_account_ach_payments |
intra_stripe_flows | Ermöglicht es diesem Finanzkonto, über das stripe -Netzwerk Geld an andere Finanzkonten zu senden oder von diesen zu empfangen. Beide Finanzkonten (Urheber und Empfänger) müssen diese Funktion aktivieren, damit ausgehende Zahlungen im stripe -Netzwerk funktionieren. | treasury |
outbound_payments.ach | Ermöglicht es diesem Finanzkonto, ACH-Überweisungen mit den OutboundPayment -Objekten der Stripe API zu senden. | treasury , us_bank_account_ach_payments |
outbound_payments.us_domestic_wire | Ermöglicht es diesem Finanzkonto, US-Inlandsüberweisungen mit den OutboundPayment -Objekten der Stripe API zu senden. | treasury |
outbound_transfers.ach | Ermöglicht es diesem Finanzkonto, ACH-Überweisungen mit den OutboundTransfer -Objekten der Stripe API zu senden. | treasury , us_bank_account_ach_payments |
outbound_transfers.us_domestic_wire | Ermöglicht es diesem Finanzkonto, US-Inlandsüberweisungen mit den OutboundTransfer -Objekten der Stripe API zu senden. | treasury |
Same Day ACH beta Same Day ACH befindet sich derzeit in der Betaphase und der Eintrag muss von Stripe geprüft und genehmigt werden. Kontaktieren Sie treasury-support@stripe.com, um eine Warteliste für diese Funktion einzutragen. API-Aufrufe, die Funktionen oder Parameter im Zusammenhang mit Same Day ACH enthalten, führen zu einem Fehler, wenn Sie keinen Zugriff auf die Beta haben.
Mit den folgenden Funktionen können Finanzkonten die Same Day ACH-Funktionalität verwenden. Sie müssen die entsprechende *.ach
-Funktion des Finanzkontos anfordern, um die Same Day ACH-Funktionalität zu nutzen. Beispielsweise müssen Sie outbound_payments.ach
und outbound_payments.ach.same_day
für das Finanzkonto anfordern, damit ein Finanzkonto OutboundPayment am selben Tag senden kann:
Funktion | Beschreibung | Erforderliche Funktionen |
outbound_payments.ach.same_day | So kann dieses Finanzkonto ACH Überweisungen mit OutboundPayment -Objekten senden, die am selben Werktag im Zielkonto eintreffen. | treasury , us_bank_account_ach_payments |
outbound_transfers.ach.same_day | So kann dieses Finanzkonto ACH Überweisungen mit OutboundTransfer -Objekten senden, die am selben Werktag im Zielkonto eintreffen. | treasury , us_bank_account_ach_payments |
inbound_payments.ach.same_day | Ermöglicht die Erstellung von InboundTransfer -Objekten, um das Finanzkonto noch am selben Werktag aufzuladen. | treasury , us_bank_account_ach_payments |
Funktionen werden angefordert
Normalerweise fordern Sie Funktionen für Ihr Treasury-Finanzkonto an, wenn Sie das Finanzkonto anlegen. Die folgende Anforderung erstellt ein Finanzkonto und fordert im selben Aufruf Funktionen an.
Wenn Sie mit bestehenden Finanzkonten arbeiten, verwenden Sie POST /v1/treasury/financial_accounts/{{FINANCIAL_ACCOUNT_ID}}/features
, um zusätzliche Funktionen anzufordern.
Aktivierung von Funktionen
Nachdem Sie eine Funktion angefordert und alle Verifizierungsanforderungen für das Onboarding des verbundenen Kontos in Ihre Plattform erfüllt haben, wird die Funktion aktiviert. Für einige Funktionen kann die Aktivierung sofort erfolgen (zum Beispiel card_issuing
). Andere Funktionen, wie financial_addresses.aba
, werden asynchron aktiviert. Wie bereits gezeigt, erstellt der folgende API-Aufruf ein Finanzkonto und fordert die genannten Funktionen an.
Die Antwort auf das Anfordern von Funktionen zur Finanzkontoerstellung weist auf ihren Status in den Parametern active_features
, pending_features
und restricted_features
hin. Im Abschnitt Funktionen abrufen finden Sie weitere Informationen zu Funktionsstatus.
{ "object": "treasury.financial_account", "created": 1612927106, "id": "fa_123", "country": "US", "supported_currencies": ["usd"], "active_features": ["card_issuing"], "pending_features": ["financial_addresses.aba"], "restricted_features": [], // No FinancialAddress added as the financial_addresses.aba feature is not yet active "financial_addresses": [], "livemode": true, "status": "open", ... }
Sie können Funktionen für das im vorherigen Beispiel erstellte Finanzkonto mithilfe von GET /v1/treasury/financial_accounts/{{FINANCIAL_ACCOUNT_ID}}/features
abrufen.
Die Antwort zeigt financial_addresses.aba
mit einem status
von pending
und status_details
mit einem code
von activating
.
{ "object": "treasury.financial_account_features", "financial_addresses": { "aba": { "requested": true, "status": "pending", "status_details": [ { "code": "activating" } ] } }, "card_issuing": { "requested": true, "status": "active", "status_details": [] }, ... }
Eine Funktion kann bis zu 30 Minuten in diesem Status verbleiben, während Stripe mit externen Systemen kommuniziert. Wenn die Funktion financial_addresses.aba
aktiviert ist, empfängt das Finanzkonto ein FinancialAddress
-Objekt und löst die Webhook treasury.financial_account.features_status_updated
aus.
Die folgende Anfrage ruft die FinancialAccount
-Details mit erweiterten financial_addresses.aba
-Details ab.
Die Antwort enthält die Kontodetails, einschließlich der vollständigen finanziellen Adressangaben.
{ "object": "treasury.financial_account", "id": "{{FINANCIAL_ACCOUNT_ID}}", "country": "US", "supported_currencies": ["usd"], "active_features": ["card_issuing", "financial_addresses.aba"], "pending_features": [], "restricted_features": [], "financial_addresses": [ { "type": "aba", "supported_networks": ["ach", "domestic_wire_us"], "aba": { "account_number_last4": "7890", "account_number": "1234567890", "routing_number": "000000001", "bank_name": "Goldman Sachs" } } ], "livemode": true, ... }
Das Finanzkonto kann jetzt Gutschriften oder Lastschriften für diese ABA-Finanzadresse empfangen.
Funktionen werden entfernt
Verwenden Sie wie beim Anfordern von Funktionen POST /v1/treasury/financial_accounts/{{FINANCIALACCOUNT_ID}}/features
, um auch Funktionen zu entfernen, aber legen Sie den Wert der Feature
, die Sie entfernen möchten, auf false
fest.
Wenn dieser Aufruf erfolgreich ist, erhalten Sie das Features
-Objekt als Antwort mit der Funktion, die Sie aus dem Objekt entfernt haben.
Funktionen abrufen
Verwenden Sie GET /v1/treasury/financial_accounts/{{FINANCIAL_ACCOUNT_ID}}/features
, um die Funktionen des Finanzkontos mit der zugehörigen ID abzurufen.
Die JSON-Antwort stellt die Funktionsdetails bereit, die durch drei Eigenschaften definiert sind:
requested
: Gibt an, ob die Funktion angefordert wurde.status
: Beschreibt den aktuellen Status der Funktion:active
,pending
oderrestricted
.status_details
: Array mit Hashes, die einen Code und eine Auflösung enthalten.
{ "card_issuing": { "requested": true, "status": "active", "status_details": [] }, "deposit_insurance": { "requested": true, "status": "restricted", "status_details": [ { "code": "requirements_past_due", "resolution": "provide_information" } ] } }
Die folgende Tabelle zeigt die möglichen Kombinationen aus status
und status_details
.
Status | Statusdetails-Code | Beilegung der Statusdetails | Beschreibung |
---|---|---|---|
pending | activating | Die Funktion wird derzeit von Stripe aktiviert. | |
pending | requirements_pending_verification | Die Anforderungen für die zugehörige Funktion für das verbundene Konto wurden übermittelt, aber noch nicht verifiziert. | |
restricted | requirements_past_due | provide_information | Für das verbundene Konto müssen bestimmte Anforderungen erfüllt sein, bevor diese Funktion aktiviert werden können. |
restricted | rejected_unsupported_business | contact_stripe | Das Konto wurde abgelehnt, da diese Art von Unternehmen derzeit nicht unterstützt wird. Wenden Sie sich für weitere Informationen an den Support unter treasury-support@stripe.com. |
restricted | rejected_other | contact_stripe | Das Konto wurde aus anderen Gründen abgelehnt. Wenden Sie sich für weitere Informationen an den Support unter treasury-support@stripe.com. |
restricted | restricted_by_platform | remove_restriction | Die Plattform hat diese Funktion mit dem Hash platform_restrictions eingeschränkt. |
restricted | financial_account_closed | Diese Funktion ist nicht verfügbar, da das Finanzkonto geschlossen ist. | |
restricted | restricted_other | contact_stripe | Diese Funktion ist aus anderen Gründen eingeschränkt. Wenden Sie sich für weitere Informationen an den Support unter treasury-support@stripe.com. |
Eingeschränkte Funktionen
Sie können Geldbewegungen auf Finanzkonten auf Ihrer Plattform einschränken, um eingehende Geldbewegungen (inbound_flows
), ausgehende Geldbewegungen (outbound_flows
) oder beide Arten von Geldbewegungen unter Verwendung des platform_restrictions
-Hashs zu unterbinden. Wenn Sie einen Ablauf einschränken, wirkt sich die Einschränkung auf bestimmte Funktionen aus, die möglicherweise mit dem Finanzkonto verknüpft sind und ganz oder teilweise auf diesen Ablauf angewiesen sind. Um beispielsweise zu verhindern, dass Geld von einem Finanzkonto abgebucht wird, rufen Sie POST /v1/treasury/financial_accounts/{{FINANCIALACCOUNT_ID}}
auf.
Bei Erfolg gibt die Antwort das Finanzkonto-Objekt mit dem entsprechenden Ablauf als restricted
zurück.
{ "object": "treasury.financial_account", "id": "{{FINANCIAL_ACCOUNT_ID}}", "status": "open", ... "platform_restrictions": { "inbound_flows": "unrestricted", "outbound_flows": "restricted" }, "active_features": ["card_issuing", "deposit_insurance", "inbound_transfers.ach"], "pending_features": [], "restricted_features": ["financial_addresses.aba", "intra_stripe_flows", "outbound_payments.ach", "outbound_payments.us_domestic_wire", "outbound_transfers.ach", "outbound_transfers.us_domestic_wire"] }
Wie die vorherige Antwort zeigt, werden beim Einschränken von outbound_flows
für das FinancialAccount financial_addresses.aba
, intra_stripe_flows
und inbound_transfers.ach
dem Array restricted_features
Funktionen hinzugefügt.
Funktionen im Array restricted_features
sind jedoch möglicherweise nur teilweise eingeschränkt. financial_addresses.aba
ist beispielsweise Teil des Arrays restricted_features
in der vorherigen Antwort, da die Einschränkung von outbound_flows
Abbuchungen an der Finanzadresse verhindert. Diese Finanzadresse kann jedoch weiterhin ACH oder Banküberweisungen empfangen, da inbound_flows
nicht eingeschränkt sind.
Ebenso ist die Funktion intra_stripe_flows
eingeschränkt, da die Einschränkung outbound_flows
die Verwendung dieses Finanzkontos als Quelle einer ausgehenden Zahlung an ein anderes Finanzkonto verhindert. Das Finanzkonto kann jedoch immer noch das Ziel einer ausgehenden Zahlung sein, sodass die Funktion nicht vollständig eingeschränkt ist.
Die folgende Anfrage ruft Funktionsdetails für ein Finanzkonto mit eingeschränkten Abläufen ab.
Die Antwort stellt das Feature
-Objekt bereit, welches status_details
mit dem Code restricted_by_platform
enthält. Die Eigenschaft restriction
enthält einen Verweis auf die angewendete platform_restriction
.
{ "object": "treasury.financial_account_features", "financial_addresses": { "aba": { "requested": true, "status": "restricted", "status_details": [ { "code": "restricted_by_platform", "resolution": "remove_restriction", "restriction": "inbound_flows" } ] } }, ... }
In der folgenden Tabelle wird beschrieben, wie sich platform_restrictions
auf Funktionen auswirken.
Notiz
Durch die Einschränkungen eingehender Zahlungsabläufe für die Funktion financial_addresses.aba
werden eingehende Überweisungen nicht blockiert.
Funktion | Auswirkungen der Einschränkung inbound_flows | Auswirkung der Einschränkung outbound_flows |
---|---|---|
card_issuing | k.A. | k.A. |
deposit_insurance | k.A. | k.A. |
financial_addresses.aba | Verhindert, dass die ABA-Finanzadresse Gutschriften über ACH erhält. | Verhindert Lastschriften von der ABA-Finanzadresse. |
inbound_transfers.ach | Deaktiviert die Funktion. | k.A. |
intra_stripe_flows | Verhindert, dass das Finanzkonto ausgehende Zahlungen von anderen Finanzkonten erhält. | Von diesem Finanzkonto können keine ausgehenden Zahlungen an andere Finanzkonten vorgenommen werden. |
outbound_payments.ach | k.A. | Deaktiviert die Funktion. |
outbound_payments.us_domestic_wire | k.A. | Deaktiviert die Funktion. |
outbound_transfers.ach | k.A. | Deaktiviert die Funktion. |
outbound_transfers.us_domestic_wire | k.A. | Deaktiviert die Funktion. |
Webhooks
Um eine Aktion mit Webhooks durchzuführen, wenn eine oder mehrere Funktionen einen bestimmten status erreicht haben, vergleichen Sie Ihren lokalen Status mit dem neuesten Status der Funktion. Während die Eigenschaft previous_attributes
des Webhooks treasury.financial_account.features_status_updated
auch angibt, welche Funktionen sich von einem status zu einem anderen geändert haben, werden Ereignisse möglicherweise außerhalb der Reihenfolge empfangen oder dupliziert. Weitere Informationen finden Sie in den Best Practices für Webhooks.
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 Hashrequirements
geändert hat und jetzt einige neue Felder den Statuspending_verification
haben.
- Bei der Anforderung neuer Funktionen erhält die Plattform möglicherweise den Webhook
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
oderrestricted_features
widergespiegelt.
- Weist darauf hin, dass eine oder mehr Funktionen ihren Status geändert haben. Dies wird in den Änderungen an den Arrays