Erfassen Sie ein Konto, um datengestützte Produkte zu entwickeln
Erfassen Sie die Konten Ihrer Nutzer/innen und nutzen Sie Daten wie Salden, Eigentumsrechte und Transaktionen zum Erstellen von Produkten.
Mit Financial Connections können Ihre Nutzer/innen ihre Finanzdaten sicher teilen, indem sie ihre externen Finanzkonten mit Ihrem Unternehmen verknüpfen. Sie können Financial Connections verwenden, um auf von den Nutzer/innen freigegebene Finanzdaten zuzugreifen, wie zum Beispiel tokenisierte Konto- und Routingnummern, Kontoguthaben, Angaben zum Inhaber/zur Inhaberin des Kontos und historische Transaktionen.
Einige gängige Beispiele dafür, wie Sie Financial Connections nutzen können, um das Produkterlebnis für Ihre Nutzer/innen zu verbessern:
- Verringern Sie Betrug beim Onboarding eines Kunden/einer Kundin oder eines Unternehmens, indem Sie die Angaben zur Inhaberschaft eines Kontos, wie den Namen und die Adresse der Bankkontoinhaber/innen verifizieren.
- Hilft Ihren Nutzern und Nutzerinnen Ausgaben zu verfolgen, Rechnungen zu bearbeiten, ihre Finanzen zu verwalten und mit Transaktionsdaten die Kontrolle über ihr finanzielles Wohlergehen zu übernehmen.
- Beschleunigung der Risikoevaluation und Verbesserung des Zugangs zu Krediten und anderen Finanzdienstleistungen mit Transaktionen und Saldodaten.
Mit Enable können Ihre Nutzer/innen ihre Konten in wenigen Schritten mit Link verknüpfen. So können sie ihre Bankkontodaten bei Stripe-Händlern speichern und schnell wiederverwenden.
Stripe einrichtenServerseitigClientseitig
Registrieren Sie sich für Financial Connections, nachdem Ihr Konto für Zugriff im Live-Modus zugelassen wurde.
Serverseitig
Für diese Integration sind Endpoints auf Ihrem Server erforderlich, die mit der Stripe-API kommunizieren können. Nutzen Sie diese offiziellen Bibliotheken für den Zugriff auf die Stripe-API von Ihrem Server aus:
Clientseitig
Das Stripe iOS SDK ist Open Source, vollständig dokumentiert und kompatibel mit Apps, die iOS 13 oder höher unterstützen.
Notiz
Details zur aktuellen SDK-Version und zu vorherigen Versionen finden Sie auf der Seite Releases auf GitHub. Um bei Veröffentlichung einer neuen Version eine Benachrichtigung zu erhalten, achten Sie auf die Releases zum jeweiligen Repository.
Kontoinhaber/in erstellen oder abrufenServerseitig
Erstellen Sie ein Kundenobjekt, wenn Nutzer/innen ein Konto bei Ihrem Unternehmen erstellen. Durch die Angabe einer E-Mail-Adresse kann Financial Connections den Authentifizierungsablau optimieren, indem es dynamisch eine optimierte Benutzeroberfläche für wiederkehrende Link-Nutzer/innen anzeigt.
Financial Connections-Sitzung erstellenServerseitig
Notiz
Eine laufende Implementierung dieses Endpoints für schnelle Tests ist auf Glitch verfügbar.
Bevor Sie mit Financial Connections Daten vom Bankkonto eines Nutzers/einer Nutzerin abrufen können, muss Ihr/e Nutzer/in sein/ihr Konto über den Authentifizierungsvorgang authentifizieren.
Der/die Nutzer/in beginnt mit dem Authentifizierungsvorgang, wenn er/sie sein/ihr Konto mit Ihrer Website oder Anwendung verbinden möchte. Fügen Sie auf Ihrer Website oder in Ihrer Anwendung eine Schaltfläche oder einen Link ein, über den ein/e Nutzer/in seine/ihre Konten verknüpfen kann – zum Beispiel “Bankkonto verknüpfen”.
Erstellen Sie eine Financial Connections-Sitzung, indem Sie sie unter /v1/financial_
angeben:
- Legen Sie
account_
auf die Kunden-holder[customer] id
fest. - Legen Sie den Parameter Daten-
permissions
so fest, dass er die für Ihren Use case erforderlichen Daten enthält. - (Optional) Legen Sie den Parameter
prefetch
zum Abrufen der Daten bei der Kontoerstellung fest.
Der Parameter Berechtigungen steuert, auf welche Kontodaten Sie zugreifen können. Sie müssen mindestens eine Berechtigung anfordern. Wenn Sie den Authentifizierungsablauf abschließen, können Ihre Nutzer/innen die Daten sehen, auf die Sie Zugriff beantragt haben, und ihre Zustimmung zur Weitergabe erteilen.
Überlegen Sie sorgfältig, welche Daten Sie für Ihren Use Case benötigen und fordern Sie die Berechtigung zum Zugriff nur für die von Ihnen benötigten Daten an. Wenn Sie Berechtigungen anfordern, die über den Umfang Ihrer Anwendung hinausgehen, ist es möglich, dass Nutzer/innen Ihnen nicht mehr volles Vertrauen schenken, da sie sich fragen, wie ihre Daten verwendet werden. Wenn Sie zum Beispiel eine Anwendung für die persönliche Finanzverwaltung oder ein Kreditprodukt entwickeln, möchten Sie möglicherweise die transactions
-Daten anfordern. Zur Eindämmung von Betrug fordern Sie möglicherweise Details zur ownership
an.
Nachdem Ihre Nutzer/innen ihr Konto authentifiziert haben, können Sie Datenberechtigungen nur erweitern, indem Sie eine neue Financial Connections-Sitzung erstellen und einen neuen Wert im Parameter permissions
angeben. Ihr/e Nutzer/in muss das Authentifizierungsverfahren erneut durchführen, wobei er/sie die zusätzlichen Daten sieht, für die Sie die Zugriffsberechtigung angefordert haben, und seine/ihre Zustimmung zum Teilen der Daten erteilt.
Der optionale Prefetch-Parameter steuert, welche Daten Sie unmittelbar nach der Verbindung des Nutzers/der Nutzerin mit seinem/ihren Konto abrufen. Verwenden Sie diese Option, wenn Sie wissen, dass Sie immer eine bestimmte Art von Daten wünschen. So entfällt die Notwendigkeit, einen zusätzlichen API-Aufruf durchzuführen, um eine Datenaktualisierung zu initiieren.
Um die Option zum Annahme von ACH Direct Debit beizubehalten, fordern Sie die Berechtigung payment_
an.
Rückgabe-URL einrichtenClientseitig
Der Kunde/Die Kundin verlässt ggf. Ihre App, um sich zu authentifizieren (z. B. in Safari oder einer Banking-App). Damit sie nach der Authentifizierung automatisch zu Ihrer App zurückkehren können, konfigurieren Sie ein benutzerdefiniertes URL-Schema und richten Sie Ihren App-Delegate so ein, dass die URL an das SDK weitergeleitet wird. Stripe unterstützt keine universellen Links.
Notiz
Stripe fügt möglicherweise zusätzliche Parameter an die angegebene Rückgabe-URL an. Stellen Sie sicher, dass Rückgabe-URLs mit zusätzlichen Parametern nicht von Ihrem Code zurückgewiesen werden.
FinancialConnectionsSheet integrierenClientseitig
Bevor der Financial Connections-Ablauf angezeigt wird, sollte Ihre Seite die Schaltfläche Finanzkonto verbinden enthalten, um die Nutzeroberfläche von Stripe anzuzeigen.
Rufen Sie in Ihrer App das Client-Geheimnis der FinancialConnectionsSession
und den veröffentlichbaren Schlüssel von dem Endpoint ab, den Sie im vorherigen Schritt erstellt haben. Legen Sie Ihren veröffentlichbaren Schlüssel mit StripeAPI.
fest und initialisieren Sie FinancialConnectionsSheet
. Übergeben Sie die returnURL
, die Sie im vorherigen Schritt eingerichtet haben.
Wenn der/die Kund/in auf die Schaltfläche Finanzkonto verbinden tippt, rufen Sie FinancialConnectionsSheet#present
auf, um das Financial Connections-Formular anzuzeigen. Nachdem der/die Kund/in den Financial Connections-Ablauf abgeschlossen hat, wird das Formular verworfen und der Abschlussblock wird mit einem FinancialConnectionsSheetResult
aufgerufen.
Daten für ein Financial Connections-Konto abrufenServerseitig
Nachdem Ihr/e Nutzer/in das Authentifizierungsverfahren erfolgreich abgeschlossen hat, greifen Sie auf die Kontodaten zu, die Sie im Parameter permissions
der Financial Connections-Sitzung angegeben haben, oder aktualisieren Sie diese.
Um die Privatsphäre der Daten Ihrer Nutzer/innen zu schützen, sind die für Sie zugänglichen Kontodaten auf die Daten beschränkt, die Sie im Parameter permissions
angegeben haben.
Beachten Sie die Leitfäden für Salden, Inhaberschaft und Transaktionen, um mit dem Abrufen von Kontodaten zu beginnen.
OptionalFormular anpassenClientseitig
Alle Anpassungskonfigurationen verwenden das FinancialConnectionsSheet.
-Objekt.
Dunkelmodus
FinancialConnectionsSheet
passt sich automatisch an die systemweiten Einstellungen für das Erscheinungsbild des Nutzers/der Nutzerin an (heller und dunkler Modus). Wenn Ihre App den Dunkelmodus nicht unterstützt, können Sie den style
auf den Modus alwaysLight
oder alwaysDark
festlegen.
var configuration = FinancialConnectionsSheet.Configuration() configuration.style = .alwaysLight
Notiz
Wenn das FinancialConnectionsSheet
über das PaymentSheet SDK aufgerufen wird, wird der in der PaymentSheet.
angegebene Stil automatisch übernommen.
OptionalACH-Lastschriftzahlung von einem Financial Connections-Konto akzeptieren
Sie können optional ACH-Lastschriftzahlungen auf einem zuvor erfassten Financial Connections-Konto akzeptieren, solange das Attribut supported_
des Kontos us_
enthält.
Nur US-Bankkonten können ACH-Lastschriften akzeptieren, beispielsweise Giro- oder Sparkonten.
Um eine ACH-Lastschriftzahlung für ein zuvor erfasstes Konto zu akzeptieren, müssen Sie in der Financial Connections-Sitzung payment_
im Parameter data permissions angegeben haben.
Payment Intent oder Setup Intent erstellen
Verwenden Sie die Payment Intents API, um eine ACH-Lastschriftzahlung für ein Konto zu akzeptieren, das Sie jetzt belasten möchten. Verwenden Sie die Setup Intents API, um Daten für zukünftige ACH-Lastschriftzahlungen zu speichern. Erfahren Sie mehr über den Unterschied zwischen einem Payment Intent und einem Setup Intent.
Dieser Pfad zeigt Ihnen, wie Sie eine ACH-Lastschriftzahlung mit der Payment Intents API akzeptieren können.
Verwenden Sie die Konto-ID von Financial Connections und die ID des Kunden/der Kundin, um einen Payment Intent zu erstellen:
Dadurch wird ein Payment Intent ähnlich dem Folgenden zurückgegeben:
{ "id": "pi_1GszXf2eZvKYlo2Ce7rjvnPP", "object": "payment_intent", "amount": 100, "amount_capturable": 0, "amount_details": { "tip": { "amount": null } }, "amount_received": 0, "application": null, "application_fee_amount": null, "automatic_payment_methods": null, "canceled_at": null, "cancellation_reason": null, "capture_method": "automatic", "charges": { "object": "list", "data": [
Mandatsbestätigung erfassen und die Zahlung übermitteln
Bevor Sie die Zahlung veranlassen können, müssen Sie eine Zahlungsautorisierung von Ihrem/Ihrer Kund/in einholen, indem Sie Mandatsbedingungen anzeigen, denen er/sie zustimmen muss.
Um die Nacha-Regeln einzuhalten, müssen Sie eine Autorisierung von Ihrem Kunden/Ihrer Kundin einholen, bevor Sie die Zahlung veranlassen können. Dies tun Sie durch Anzeigen von Mandatskonditionen, denen der Kunde/die Kundin zustimmen muss. Weitere Informationen finden Sie unter Mandate.
Payment Intent bestätigen
Um diesen Payment Intent zu bestätigen, müssen Sie entweder einen mandate
-Parameter mit einer bestehenden Mandats-ID oder mandate_data zum Erstellen eines neuen Mandats angeben.
Wenn Sie beispielsweise eine Bezahlseite mit der Schaltfläche „Bestellung aufgeben“ haben, kann durch Klicken auf diese Schaltfläche ein POST
an einen Endpoint auf Ihrem Server ausgelöst werden. Dieser Endpoint kann den Nutzer-Agent der Anfrage und die IP-Adresse des Clients extrahieren und dann die folgende Anfrage an die API von Stripe senden:
Nach der erfolgreichen Bestätigung des Payment Intent sieht dieser ähnlich dem Folgenden aus:
{ "id": "pi_1GszXf2eZvKYlo2Ce7rjvnPP", "object": "payment_intent", "amount": 100, "amount_capturable": 0, "amount_received": 0, "application": null, "application_fee_amount": null, "automatic_payment_methods": null, "canceled_at": null, "cancellation_reason": null, "capture_method": "automatic", "charges": { "object": "list", "data": [ { "id": "py_17F8CPDyDglZKgWE3uzOAUe9", "object": "charge", "amount": 100, "amount_captured": 100,
Beim ACH-Lastschriftverfahren handelt es sich um eine Zahlungsmethode mit verzögerter Benachrichtigung. Das bedeutet, dass es bis zu vier Werktage dauern kann, bis Sie nach Initiierung der Lastschrift für das Konto Ihres/Ihrer Kund/in eine Mitteilung über eine erfolgreiche oder fehlgeschlagene Zahlung erhalten.
Der von Ihnen erstellte PaymentIntent befindet sich zunächst im Status processing
. Wenn die Zahlung erfolgreich war, wird der Status des PaymentIntent von processing
in succeeded
geändert. Erfahren Sie mehr über die Ereignisse, die gesendet werden, wenn der PaymentIntent-Status aktualisiert wird.