Accéder directement au contenu
Créez un compte
ou
connecter-vous
Logo de la documentation Stripe
/
Demander à l'assistant IA
Créez un compte
Connectez-vous
Démarrer
Paiements
Revenus
Plateformes et places de marché
Gestion de fonds
Ressources pour les développeurs
Aperçu
À propos des paiements Stripe
Mettre votre intégration à niveau
Analyses des paiements
Paiements en ligne
PrésentationTrouver votre cas d'usageManaged Payments
Utiliser Payment Links
Créer une page de paiement
Développer une intégration avancée
Développer une intégration dans l'application
Moyens de paiement
Ajouter des moyens de paiement
Gérer les moyens de paiement
Paiement accéléré avec Link
Interfaces de paiement
Payment Links
Checkout
Elements pour le web
In-app Payments
Scénarios de paiement
Gérer plusieurs devises
Tunnels de paiement personnalisés
Acquisition flexible
Orchestration
Paiements par TPE
Terminal
Au-delà des paiements
Constituez votre entreprise
Cryptomonnaies
Financial Connections
    Présentation
    Démarrer
    Cas d'usage
    Principes de base
    Tests
    Établissements pris en charge
    Collecter des comptes pour obtenir des données
    Paiements par prélèvement automatique ACH
    Virements Connect
    Autres produits reposant sur les données
    Accéder aux données des comptes
    Soldes
    Propriété
    Transactions
    Vérification de la propriété
    Gérer les comptes
    Déconnexions
    Webhooks
Climate
Comprendre la fraude
Radar pour la protection contre la fraude
Gestion des litiges
Vérifier l'identité
AccueilPaiementsFinancial Connections

Collecter des informations de compte pour créer des produits basés sur des données

Collectez les données de compte de votre utilisateur (soldes, informations de propriété et transactions) et tirez-en parti pour créer des produits.

Disponible dans les pays suivants :

Vous ne savez pas quelle intégration Financial Connections utiliser ? Consultez notre présentation des options d’intégration.

Financial Connections permet à vos utilisateurs de partager de manière sécurisée leurs données financières en associant leurs comptes financiers extérieurs à votre entreprise. Vous pouvez utiliser Financial Connections pour accéder aux données financières autorisées par l’utilisateur telles que les numéros de compte et de routage tokenisés, les soldes et les informations de propriété du compte, ainsi que l’historique des transactions.

Voici quelques exemples d’utilisations possibles de Financial Connections afin d’améliorer les expériences produit de vos utilisateurs :

  • Réduisez le risque de fraude lors de l’inscription d’un client ou d’une entreprise en vérifiant les informations relatives au titulaire d’un compte, notamment son nom et son adresse.
  • Aidez vos utilisateurs à suivre leurs dépenses, gérer leurs factures ainsi que leurs finances, et à contrôler leur bien-être financier avec les données de transactions.
  • Accélérez l’évaluation des risques et améliorez l’accès au crédit et à d’autres services financiers avec les données de transactions et de soldes.
  • Permettez à vos utilisateurs de connecter leurs comptes en moins d’étapes grâce à Link. Ils peuvent ainsi enregistrer et réutiliser facilement leurs coordonnées bancaires auprès des marchands Stripe.

Configurer Stripe
Côté serveur
Côté client

Une fois que vous avez accès au mode production sur votre compte, inscrivez-vous à Financial Connections.

Côté serveur

Cette intégration exige des endpoints sur votre serveur qui communiquent avec l’API Stripe. Utilisez nos bibliothèques officielles pour accéder à l’API Stripe depuis votre serveur :

Command Line
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# Available as a gem sudo gem install stripe
Gemfile
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

Côté client

Le SDK iOS de Stripe est disponible en open source et fait l’objet d’une documentation complète. Il est également compatible avec les applications prenant en charge iOS 13 et les versions ultérieures.

Pour installer le SDK, veuillez suivre les étapes ci-dessous :

  1. Dans Xcode, sélectionnez File > Add Package Dependencies… puis saisissez https://github.com/stripe/stripe-ios-spm en tant qu’URL du référentiel.
  2. Sélectionnez le dernier numéro de version, visible sur notre page des versions.
  3. Ajoutez le produit StripeFinancialConnections à la cible de votre application.

Remarque

Pour obtenir de plus amples informations sur la version la plus récente du SDK et ses versions antérieures, consultez la page des versions sur GitHub. Pour recevoir une notification lors de la publication d’une nouvelle version, surveillez les versions à partir du référentiel.

Créer ou récupérer un titulaire de compte
Côté serveur

Créez un objet Customer lorsque les utilisateurs créent un compte auprès de votre entreprise. En fournissant une adresse email, vous permettez à Financial Connections d’optimiser le flux d’authentification en présentant de manière dynamique une interface utilisateur simplifiée, pour les utilisateurs existants de Link.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/customers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d email={{CUSTOMER_EMAIL}} \ -d name={{CUSTOMER_NAME}}

Créer une session Financial Connections
Côté serveur

Remarque

Une implémentation fonctionnelle de cet endpoint est disponible sur Glitch à des fins de test rapide.

Pour que vous puissiez récupérer des données sur le compte bancaire d’un utilisateur avec Financial Connections, votre utilisateur doit au préalable authentifier son compte avec le flux d’authentification.

L’utilisateur lance le flux d’authentification lorsqu’il souhaite connecter son compte à votre site ou votre application. Insérez un bouton ou un lien sur votre site ou dans votre application pour permettre à l’utilisateur d’associer ses comptes : par exemple, « Associer votre compte bancaire ».

Créez une session Financial Connections en envoyant une requête POST à /v1/financial_connections/sessions :

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/financial_connections/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "account_holder[type]"=customer \ -d "account_holder[customer]"=
{{CUSTOMER_ID}}
\ -d "permissions[]"=balances \ -d "permissions[]"=ownership \ -d "permissions[]"=payment_method \ -d "permissions[]"=transactions
  1. Définissez account_holder[customer] sur l’id du client.
  2. Définissez le paramètre de données permissions afin d’inclure les données nécessaires à votre cas d’usage.
  3. (Facultatif) Définissez le paramètreprefetch pour récupérer les données lors de la création du compte.

Le paramètre permissions détermine les données du compte auxquelles vous pouvez accéder. Vous devez demander au moins une autorisation. Après s’être soumis au flux d’authentification, votre utilisateur peut voir les données auxquelles vous avez demandé l’accès et donner son accord pour qu’elles soient partagées.

Réfléchissez aux données dont vous aurez besoin pour votre cas d’usage, et demandez uniquement l’accès aux données nécessaires. Le fait de demander des autorisations dont vous n’avez pas besoin pour votre application risque d’éroder la confiance que vous accordent vos utilisateurs quant à la manière dont vous utilisez leurs données. Par exemple, si vous créez une application de gestion financière personnelle ou un produit de location, vous pouvez demander les données transactions d’un utilisateur. Si vous cherchez à réduire les risques de fraude et à empêcher les usurpations de comptes, vous pouvez demander les données ownership.

Une fois que l’utilisateur a authentifié son compte, vous ne pouvez étendre les autorisations d’accès aux données qu’en créant une nouvelle session Financial Connections et en spécifiant une nouvelle valeur pour le paramètre permissions. Votre utilisateur doit se soumettre à nouveau au flux d’authentification dans lequel il peut consulter les données supplémentaires auxquelles vous souhaitez accéder et autoriser le partage de ses données.

Le paramètre prefetch facultatif contrôle les données que vous récupérez immédiatement après que l’utilisateur s’est connecté à son compte. Utilisez cette option si vous savez que vous voulez toujours un certain type de données. Il n’est pas nécessaire d’effectuer un appel supplémentaire à l’API pour lancer une actualisation des données.

Pour conserver la possibilité d’accepter les paiements par prélèvement automatique ACH, demandez l’autorisation payment_method.

Configurer une URL de redirection
Côté client

Le client peut quitter votre application pour s’authentifier (par exemple, dans Safari ou dans son application bancaire). Pour lui permettre de revenir automatiquement sur votre application après s’être authentifié, configurez un schéma d’URL personnalisé et configurez votre délégué d’application pour qu’il transmette l’URL au SDK. Stripe ne prend pas en charge les liens universels.

Remarque

Stripe peut ajouter des paramètres supplémentaires à l’URL de redirection fournie. Assurez-vous que les URL de redirection comportant des paramètres supplémentaires ne sont pas rejetées par votre code.

SceneDelegate.swift
Swift
Objective-C
No results
// This method handles opening custom URL schemes (for example, "your-app://stripe-redirect") func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) { guard let url = URLContexts.first?.url else { return } let stripeHandled = StripeAPI.handleURLCallback(with: url) if (!stripeHandled) { // This was not a Stripe url – handle the URL normally as you would } }

Intégrer FinancialConnectionsSheet
Côté client

Avant d’afficher le flux de Financial Connections, le bouton Connecter le compte financier doit être inclus dans votre page afin d’afficher l’interface utilisateur de Stripe.

Dans votre application, récupérez la clé secrète du client et la clé publiable de la FinancialConnectionsSession à partir du endpoint que vous avez créé à l’étape précédente. Définissez votre clé publiable à l’aide de StripeAPI.shared et initialisez FinancialConnectionsSheet. Transmettez la returnURL configurée à l’étape précédente.

ViewController.swift
Swift
No results
import StripeFinancialConnections class ViewController: UIViewController { @IBOutlet weak var connectFinancialAccountButton: UIButton! var financialConnectionsSheet: FinancialConnectionsSheet? let backendCheckoutUrl = URL(string: "Your backend endpoint")! // Your backend endpoint override func viewDidLoad() { super.viewDidLoad() connectFinancialAccountButton.addTarget(self, action: #selector(didTapConnectFinancialAccountButton), for: .touchUpInside) connectFinancialAccountButton.isEnabled = false // MARK: Fetch the FinancialConnectionsSession client secret and publishable key var request = URLRequest(url: backendCheckoutUrl) request.httpMethod = "POST" let task = URLSession.shared.dataTask(with: request, completionHandler: { [weak self] (data, response, error) in guard let data = data, let json = try? JSONSerialization.jsonObject(with: data, options: []) as? [String : Any], let clientSecret = json["client_secret"] as? String, let publishableKey = json["publishable_key"] as? String, let self = self else { // Handle error return } // MARK: Set your Stripe publishable key - this allows the SDK to make requests to Stripe for your account STPAPIClient.shared.publishableKey = publishableKey self.financialConnectionsSheet = FinancialConnectionsSheet( financialConnectionsSessionClientSecret: clientSecret, returnURL: "https://your-app-domain.com/stripe-redirect" ) DispatchQueue.main.async { self.connectFinancialAccountButton.isEnabled = true } }) task.resume() } @objc func didTapConnectFinancialAccountButton() { // implemented in the next steps } }

Lorsque le client touche le bouton Connecter le compte financier, appelez FinancialConnectionsSheet#present pour afficher le formulaire Financial Connections. Une fois le flux Financial Connections finalisé par le client, le formulaire se ferme et le bloc de finalisation est appelé avec un FinancialConnectionsSheetResult.

ViewController.swift
Swift
No results
@objc func didTapConnectFinancialAccountButton() { // MARK: Start the financial connections flow financialConnectionsSheet?.present( from: self, completion: { result in switch result { case .completed(session: let financialConnectionsSession): let accounts = financialConnectionsSession.accounts.data.filter { $0.last4 != nil } let accountInfos = accounts.map { "\($0.institutionName) ....\($0.last4!)" } print("Completed with \(accountInfos.joined(separator: "\n")) accounts") case .canceled: print("Canceled!") case .failed(let error): print("Failed!") print(error) } }) }

Récupérer des données sur un compte Financial Connections
Côté serveur

Une fois que votre utilisateur a terminé le flux d’authentification, mettez à jour ou accédez aux données du compte que vous avez précisé dans le paramètre permissions de la session Financial Connections.

Pour protéger la confidentialité des données de votre utilisateur, vous n’avez accès qu’aux données indiquées dans le paramètre permissions.

Suivez les instructions des guides consacrés aux soldes, à la propriété et aux transactions pour commencer à récupérer les données d’un compte.

FacultatifPersonnaliser le formulaire
Côté client

Toutes les configurations de personnalisation utilisent l’objet FinancialConnectionsSheet.Configuration.

Mode sombre

FinancialConnectionsSheet s’ajuste automatiquement en fonction des paramètres d’affichage du système de l’utilisateur (mode clair et foncé). Si votre application ne prend pas en charge le mode sombre, vous pouvez définir style sur le mode alwaysLight ou alwaysDark.

var configuration = FinancialConnectionsSheet.Configuration() configuration.style = .alwaysLight

Remarque

Lorsque FinancialConnectionsSheet est lancé via le SDK PaymentSheet, le style spécifié dans PaymentSheet.Configuration est automatiquement hérité.

FacultatifAccepter un paiement par prélèvement automatique ACH depuis un compte Financial Connections

Vous pouvez accepter des paiements par prélèvement automatique ACH sur un compte Financial Connections déjà collecté tant que l’attribut supported_payment_method_types du compte inclut us_bank_account.

Seuls les comptes bancaires états-uniens, comme les comptes courants et les comptes d’épargne, peuvent accepter les paiements par prélèvement automatique ACH.

Pour accepter un paiement par prélèvement automatique ACH sur un compte déjà collecté, vous devez avoir spécifié payment_method dans le paramètre permissions de la session Financial Connections.

Créer un PaymentIntent ou un SetupIntent

Utilisez l’l’API Payment Intents pour accepter un paiement par prélèvement automatique ACH provenant d’un compte que vous voulez débiter maintenant. Utilisez l’API Setup Intents pour enregistrer les informations afin de les réutiliser à l’occasion de futurs paiements par prélèvement automatique ACH. En savoir plus sur la différence entre un PaymentIntent et un SetupIntent.

Ce chemin vous montre comment accepter un paiement par prélèvement automatique ACH en utilisant l’API Payment Intents.

Utilisez l’ID du compte Financial Connections et l’ID du client pour créer un PaymentIntent :

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=
{{CUSTOMER_ID}}
\ -d "payment_method_types[]"=us_bank_account \ -d "payment_method_data[us_bank_account][financial_connections_account]"=
{{ACCOUNT_ID}}
\ -d "payment_method_data[type]"=us_bank_account \ -d "payment_method_data[billing_details][name]"="J. Customer" \ -d amount=100 \ -d currency=usd

Le résultat renvoie un nouveau PaymentIntent qui ressemble à ceci :

{ "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": [

Collecter l’accusé de réception du mandat et effectuer le paiement

Avant de pouvoir initier le paiement, vous devez obtenir l’autorisation de votre client. Pour ce faire, présentez-lui les conditions du mandat et demandez-lui de les accepter.

Pour vous conformer aux règles de la Nacha, vous devez obtenir l’autorisation d’initier le paiement auprès de votre client. Pour ce faire, présentez-lui les conditions du mandat et demandez-lui de les accepter. Pour en savoir plus, consultez la page sur les mandats.

Confirmer le PaymentIntent

Pour confirmer ce PaymentIntent, vous devez fournir soit un paramètre mandate avec un ID de mandat existant, soit un paramètre mandate_data pour créer un nouveau mandat.

Par exemple, si une page de paiement présente un bouton « Passer commande », le fait de cliquer dessus peut déclencher une requête POST au niveau d’un endpoint de votre serveur. Cet endpoint peut extraire l’agent utilisateur de la requête et l’adresse IP du client, puis envoyer la requête suivante à l’API Stripe :

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents/
{{PAYMENT_INTENT_ID}}
/confirm
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "mandate_data[customer_acceptance][accepted_at]"=1647448692 \ -d "mandate_data[customer_acceptance][type]"=online \ -d "mandate_data[customer_acceptance][online][ip_address]"="71.183.194.54" \ --data-urlencode "mandate_data[customer_acceptance][online][user_agent]"="Mozilla/5.0 ..."

Après avoir confirmé le PaymentIntent, voici ce que vous obtiendrez :

{ "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,

Le prélèvement automatique ACH est un moyen de paiement à notification différée. Ceci signifie que pour recevoir une notification du succès ou de l’échec d’un paiement, il faut compter jusqu’à quatre jours ouvrables après le déclenchement du prélèvement sur le compte du client.

Initialement, le PaymentIntent que vous créez présente l’état processing. Une fois le paiement abouti, l’état du PaymentIntent passe de processing à succeeded. Découvrez les événements envoyés lorsque l’état du PaymentIntent est mis à jour.

Cette page vous a-t-elle été utile ?
OuiNon
  • Besoin d'aide ? Contactez le service Support.
  • Rejoignez notre programme d'accès anticipé.
  • Consultez notre log des modifications.
  • Des questions ? Contactez l'équipe commerciale.
  • LLM ? Lire llms.txt.
  • Propulsé par Markdoc