Integrationsleitfaden für Embedded Finance
Erstellen Sie mit Issuing und Treasury eine eingebettete Integration für Finanzdienstleistungen.
Erstellen Sie mit Stripe Issuing und Stripe Treasury ein integriertes US-Finanzdienstleistungsangebot. Mit Issuing können Sie Karten erstellen und mit Treasury Guthaben speichern und Kartenausgaben finanzieren.
In diesem Leitfaden lernen Sie:
- Verifizierte verbundene Konten erstellen, die Ihre Geschäftskundinnen und -kunden mit relevanten Issuing- und Treasury-Funktionen darstellen
- Finanzkonten erstellen, die Sie als Wallet für Ihre Geschäftskundinnen- und Kunden verwenden können und Gelder über ein externes Bankkonto hinzufügen
- Virtuelle Karten für Ihre Geschäftskundinnen und -kunden erstellen und diese verwenden, um Gelder mit einer Wallet auszugeben
Bevor Sie loslegen
- Registrieren Sie sich für ein Stripe-Konto.
- Aktivieren Sie Issuing und Treasury im Test-Modus über das Dashboard. Weitere Informationen finden Sie unter API-Zugriff auf Issuing und Treasury.
- Konfigurieren Sie Ihre Branding-Einstellungen der Connect-Plattform für Ihr Unternehmen und fügen Sie ein Symbol hinzu.
Verbundene Konten erstellen
Verbundenes Konto erstellen
Erstellen Sie ein verbundenes Konto, um eine Geschäftskundin/einen Geschäftskunden auf Ihrer Plattform darzustellen. Wenn es sich bei Ihrem Produkt beispielsweise um eine SaaS-Plattform für Restaurants handelt, wird jedes Restaurant als ein verbundenes Konto dargestellt.
Connect-Kontoarten
Issuing unterstützt nur verbundene Konten, die kein von Stripe gehostetes Dashboard verwenden und bei denen Ihre Plattform für die Erfassung von Anforderungen und die Verlusthaftung verantwortlich ist, auch als verbundenes Custom-Konto bezeichnet. Erfahren Sie, wie Sie verbundene Konten erstellen, die mit Issuing kompatibel sind. Wenn Ihre bestehenden Konten nicht mit dieser Konfiguration übereinstimmen, müssen Sie sie neu erstellen.
Über die folgende Anfrage wird ein verbundenes Konto mit der korrekten Konfiguration in den USA erstellt, und die erforderlichen Funktionen werden angefordert:
Die Kontoinformationen der Nutzerin/des Nutzers werden in der Antwort angezeigt:
{ ... "id": "{{CONNECTED_ACCOUNT_ID}}", "controller": { "stripe_dashboard": { "type": "none" }, "fees": { "payer": "application" }, "losses": { "payments": "application" }, "is_controller": true, "type": "application", "requirement_collection": "application" }, ... }
Notieren Sie sich die id
des verbundenen Kontos. Sie geben diesen Wert an, um sich als das verbundene Konto zu authentifizieren, indem Sie ihn in Anfragen im Stripe-Account
-Header übergeben.
Wenn bereits ein verbundenes Konto vorhanden ist, können Sie die erforderlichen Funktionen hinzufügen, indem Sie die id
des verbundenen Kontos in der API-Anfrage angeben:
Verbundenes Konto verifizieren
Wählen Sie eine der folgenden Onboarding-Optionen:
Stripe hat inzwischen das verbundene Konto erstellt und verifiziert. Die relevanten Funktionen sind active
und das Konto kann nun mit Issuing und Treasury verwendet werden.
Weitere Informationen finden Sie unter:
Finanzkonten erstellen und Gelder hinzufügen
Nachdem Sie Treasury auf Ihrer Plattform aktiviert haben, fügen Sie FinancialAccount-Objekte zu Ihrer Plattformarchitektur hinzu, um Gelder effizient speichern, senden und empfangen zu können. Stripe fügt Ihrem Plattformkonto ein Finanzkonto hinzu und ermöglicht Ihnen die Bereitstellung eines individuellen Finanzkontos für jedes berechtigte verbundene Konto auf Ihrer Plattform.
In der Stripe API dienen FinancialAccount
-Objekte als Quelle und Ziel von API-Anfragen zum Bewegen von Geldern. Sie fordern Features
über die API an, die FinancialAccounts
zugewiesen werden und zusätzliche Funktionen für die Finanzkonten auf Ihrer Plattform bereitstellen.
Ein Finanzkonto weist ein Guthaben auf, das vom Saldo des verbundenen Kontos, mit dem es verknüpft ist, getrennt ist. Die Inhaberin/der Inhaber eines verbundenen Kontos auf Ihrer Plattform könnte beispielsweise über ein Guthaben in Höhe von 100 USD auf dem verbundenen Konto und 200 USD Guthaben auf dem Finanzkonto verfügen. In diesem Szenario verfügt die Inhaberin/der Inhaber des verbundenen Kontos über eine Summe von 300 USD, die zwischen dem Finanzkonto und den Salden des verbundenen Kontos verteilt sind. Diese beiden Guthaben bleiben getrennt, mit der API ist jedoch die Geldbewegung vom Saldo des verbundenen Kontos zum Saldo des Finanzkontos möglich.
Mehrere Finanzkonten
Mit der Beta-Funktion für mehrere Finanzkonten können Sie mehrere Finanzkonten für ein einzelnes verbundenes Konto eröffnen. Kontaktieren Sie treasury-support@stripe.com, um auf den Test-Modus für diese Funktion zuzugreifen und sich auf die Warteliste setzen zu lassen.
Finanzkonto erstellen
Sobald Stripe einem Konto die Funktion treasury
hinzufügt und sich dieses im Status active
befindet, können Sie ein FinancialAccount
-Objekt für das Konto erstellen. Hierfür rufen Sie FinancialAccounts
auf und fordern die Features
an, die Sie bereitstellen möchten:
In der Antwort auf das Anfordern von Funktionen zur Finanzkontoerstellung wird auf ihren Status in den Parametern active_
, pending_
und restricted_
hingewiesen.
{ "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", ... }
Für einige Funktionen erfolgt die Aktivierung möglicherweise umgehend (z. B. bei card_
). Andere Funktionen, wie financial_
, werden hingegen asynchron aktiviert oder verbleiben für bis zu 30 Minuten im Status pending
, während Stripe mit externen Systemen kommuniziert. Wenn alle relevanten Funktionen aktiv sind, erhalten Sie eine Bestätigung für den Webhook-Listener treasury.
. Weitere Informationen zu den Funktionen von Finanzkonten finden Sie unter Verfügbare Funktionen.
Bankkonto verknüpfen
Damit Ihre Kundinnen und Kunden Geld von einem externen Konto und auf ein externes Konto übertragen können, erstellen Sie einen SetupIntent
mit den erforderlichen Parametern und fügen ihn zu self
hinzu, um anzugeben, dass das externe Konto Ihrer Kundin/Ihrem Kunden gehört:
Die API-Antwort enthält eine eindeutige Kennung für die payment_
, die verwendet wird, um bei ACH-Übertragungen auf dieses Bankkonto zu verweisen:
{ "id": "{{SETUP_INTENT_ID}}", "object": "setup_intent", "next_action": { "type": "verify_with_microdeposits", "verify_with_microdeposits": { "arrival_date": 1642579200, "hosted_verification_url": "https://payments.stripe.com/microdeposit/sacs_test_xxx", "microdeposit_type": "amounts" } }, ... "payment_method": "{{PAYMENT_METHOD_ID}}", "payment_method_types": [ "us_bank_account" ] }
Bevor Sie ein Bankkonto verwenden können, müssen Sie dieses mittels Testeinzahlungen (hierauf gehen wir genauer ein) oder der schnelleren Option Financial Connections verifizieren. Die SetupIntent
-Antwort aus dem vorherigen Schritt enthält eine hosted_
. Geben Sie diese URL für Ihre Kundinnen/Kunden an, damit sie den zur Testeinzahlung gehörenden Zahlungsbeschreibungscode eingeben können. Verwenden Sie den Wert SM11AA
, um das Bankkonto zu verifizieren. Alternativ können Sie auch zahlreiche andere Fälle testen und hierfür die von Stripe bereitgestellten Testkontonummern nutzen.
Verifizierung einer Testeinzahlung
Gelder auf das Finanzkonto einzahlen
Zu diesem Zeitpunkt verfügt das verbundene Konto über ein FinancialAccount
, das mit Geldern aus einem InboundTransfer
aufgestockt wurde. Dieses Guthaben können Sie per Kartenzahlung oder auch OutboundPayments
wie ACH-Zahlungen oder Überweisungen ausgeben.
Weitere Informationen finden Sie unter:
- Berechtigungen für InboundTransfers einholen
- Treasury-Finanzkonten verwenden
- Mit Treasury Geldbewegungen durchführen
- Finanzkontofunktionen anfordern
- SetupIntents, PaymentMethods und BankAccounts verwenden
- Geldbewegung mit Treasury mithilfe von InboundTransfer-Objekten durchführen
- Geldbewegung mit Treasury mithilfe von ReceivedCredit-Objekten durchführen
Karte verwenden
Autorisierung erstellen
Generieren Sie eine Testautorisierung, um zu erfahren, wie sich die Kartenaktivität auf den zugehörigen Saldo auswirkt. Diese können Sie für das verbundene Konto auf der Issuing-Seite im Dashboard generieren oder indem Sie den folgenden Aufruf der Authorization API durchführen:
Nach der Genehmigung erstellt Stripe eine Authorization
im Status pending
, während auf die Erfassung gewartet wird. Notieren Sie die Autorisierungs-id
, die Sie zur Erfassung der Gelder verwenden:
{ "id": "iauth_1NvPyY2SSJdH5vn2xZQE8C7k", "object": "issuing.authorization", "amount": 1000, ... "status": "pending", "transactions": [], }
Sie können die Saldodetails des Finanzkontos abrufen und die Auswirkungen der Autorisierung anzeigen:
Die API-Antwort ist ein FinancialAccount
-Objekt mit einem balance
-Hash, der die Gelder und ihre Verfügbarkeit im Detail beschreibt:
{ "object": "treasury.financial_account", "id": "{{FINANCIAL_ACCOUNT_ID}}", ... "balance": { "cash": {"usd": 19000}, "inbound_pending": {"usd": 0}, "outbound_pending": {"usd": 1000} } }
Die Antwort weist darauf hin, dass aktuell 190 USD verfügbar sind und weitere 10 USD in outbound_
im Rahmen der Autorisierung im Status pending
zurückgehalten werden. Sie können die Erfassung der Autorisierung mit der API simulieren.
Gelder erfassen
Erfassen Sie die Gelder mit dem folgenden Code:
Nachdem die Autorisierung erfasst wurde, erstellt Stripe eine Transaktion in Issuing, der status
der Autorisierung wird auf closed
festgelegt, und es wird ein ReceivedDebit
-Webhook mit diesen Details erstellt. Wenn Sie die Saldodetails des Finanzkontos erneut abrufen, wird angezeigt, dass der Parameter outbound_
jetzt 0 USD beträgt, während das verfügbare Bargeld weiterhin 190 USD beträgt:
{ "object": "treasury.financial_account", "id": "{{FINANCIAL_ACCOUNT_ID}}", ... "balance": { "cash": {"usd": 19000}, "inbound_pending": {"usd": 0}, "outbound_pending": {"usd": 0} } }