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.
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 StripeCôté serveur
Une fois que vous avez accès au mode production sur votre compte, inscrivez-vous à Financial Connections.
Utilisez nos bibliothèques officielles pour accéder à l’API Stripe à partir de votre application :
Créer ou récupérer un titulaire de compteCô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.
Créer une session Financial ConnectionsCôté serveur
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_ :
- Définissez
account_sur l’holder[customer] iddu client. - Définissez le paramètre de données
permissionsafin d’inclure les données nécessaires à votre cas d’usage. - (Facultatif) Définissez le paramètre
prefetchpour 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_.
Collecter un compte Financial ConnectionsCôté client
Utilisez la client_ renvoyée avec Stripe.js pour permettre à l’utilisateur de connecter ses comptes. Un client_ permet aux SDK Stripe côté client d’apporter des changements à la session Financial Connections. Ne la sauvegardez pas, ne l’enregistrez pas, ne l’intégrez pas aux URL et ne la dévoilez pas à d’autres personnes que votre client final. Assurez-vous d’avoir activé TLS sur toutes les pages qui comprennent la clé secrète du client.
Utilisez collectFinancialConnectionsAccounts pour collecter un compte.
const stripe = new Stripe() const financialConnectionsSessionResult = await stripe.collectFinancialConnectionsAccounts({ clientSecret: "{{SESSION_CLIENT_SECRET}}", });'pk_test_TYooMQauvdEDq54NiTphI7jx'
Cette méthode charge le flux d’authentification, l’interface utilisateur Stripe.js côté client qui permet à vos utilisateurs d’associer leurs comptes financiers à vous et à Stripe.
La valeur renvoyée par stripe. est une « Promise ». Au moment où l’utilisateur termine le flux d’authentification, la Promise est résolue avec un objet qui contient la liste des comptes connectés :
{ "financialConnectionsSession": { "id": "fcsess_123", "accounts": [ { "id": "fca_456", "object": "financial_connections.account", "category": "Checking", "display_name": "Premium Checking", "institution_name": "Test Bank", "last4": "4242" } ] } }
Si l’utilisateur ne connecte aucun compte, ou quitte le flux d’authentification trop tôt, la réponse contient un tableau accounts vide.
Une fois que le processus d’authentification a abouti, un webhook financial_ est envoyé pour chaque compte connecté.
Récupérer des données sur un compte Financial ConnectionsCô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.
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_ du compte inclut us_.
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_ 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 :
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 :
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.