Guide d'intégration des services financiers intégrés
Créez une intégration de services financiers avec Issuing et Financial Accounts pour les plateformes.
Créer une offre de services financiers intégrés aux États-Unis en utilisant Stripe Issuing et Financial Accounts pour les plateformes. Utilisez Issuing pour créer des cartes bancaires et Financial Accounts pour les plateformes afin de sauvegarder les soldes et de financer les dépenses par carte.
À la fin de ce guide, vous saurez comment :
- Créez des comptes connectés vérifiés pour vos clients professionnels, avec des fonctionnalités Issuing et Financial Accounts pour les plateformes pertinentes
- Créer des comptes financiers qui serviront de portefeuilles pour vos clients et y ajouter des fonds depuis un compte bancaire externe
- Créer des cartes virtuelles pour vos clients et les utiliser pour dépenser des fonds depuis un portefeuille
Avant de commencer
- Créez un Compte Stripe.
- Activez les comptes Issuing et Financial Accounts pour les plateformes dans un environnement de test depuis le Dashboard. Pour en savoir plus, consultez la page accès de l’API aux comptes Issuing et aux Financial Accounts pour les plateformes.
- Configurez les paramètres de marque de la plateforme Connect de votre entreprise et ajoutez une icône.
Créer des comptes connectés
Créer un compte connecté
Créez un compte connecté pour représenter une entreprise cliente de votre plateforme. Par exemple, si votre produit est une plateforme SaaS à destination de restaurants, chaque restaurant est représenté par un compte connecté.
Types de comptes Connect
Issuing prend uniquement en charge les comptes connectés qui n’utilisent pas de Dashboard hébergé par Stripe, et dont votre plateforme est responsable de la collecte des exigences et des pertes, c’est-à-dire les comptes connectés Custom. Découvrez comment créer des comptes connectés qui fonctionnent avec Issuing. Si vos comptes existants ne correspondent pas à cette configuration, vous devez les recréer.
La requête suivante crée un compte connecté établi aux États-Unis avec la bonne configuration et demande les fonctionnalités requises :
Les informations du compte de l’utilisateur apparaissent dans la réponse :
{ ... "id": "{{CONNECTED_ACCOUNT_ID}}", "controller": { "stripe_dashboard": { "type": "none" }, "fees": { "payer": "application" }, "losses": { "payments": "application" }, "is_controller": true, "type": "application", "requirement_collection": "application" }, ... }
Notez l’id du compte connecté. Vous le transmettrez dans les requêtes de l’en-tête Stripe-Account pour vous authentifier sous ce compte.
Si un compte connecté existe déjà, vous pouvez ajouter les fonctionnalités requises en spécifiant son id dans la requête :
Vérifier le compte connecté
Choisissez l’une des options d’inscription des utilisateurs suivantes :
À ce stade, Stripe a créé et vérifié le compte connecté, qui est doté des fonctionnalités actives pertinentes pour l’utilisation d’Issuing et de Financial Accounts pour les plateformes.
Pour en savoir plus, consultez les pages suivantes :
Créer des comptes financiers et ajouter des fonds
Après avoir activé la fonctionnalité Financial Accounts sur votre plateforme, ajoutez des objets FinancialAccount à l’architecture de votre plateforme afin de permettre la sauvegarde, l’envoi et la réception efficaces de fonds. Stripe associe un compte financier à votre compte de plateforme après l’activation et vous permet de provisionner un compte financier individuel pour chaque compte connecté éligible sur votre plateforme.
Dans l’API Stripe, les objets FinancialAccount servent de source et de destination aux requêtes API de mouvement de fonds. Vous pouvez demander via l’API d’affecter des Features aux FinancialAccounts afin de fournir des fonctionnalités supplémentaires aux comptes financiers de votre plateforme.
Un compte financier possède son propre solde de fonds, distinct du solde des paiements du compte connecté auquel il est associé. Par exemple, le propriétaire d’un compte connecté de votre plateforme peut disposer de 100 USD sur son solde de compte connecté et de 200 USD sur son solde de compte financier. Dans ce cas, son solde total s’élève à 300 USD, soit la somme des soldes de son compte financier et de son compte connecté. Ces deux soldes sont distincts, mais l’API permet de transférer des fonds depuis le solde du compte connecté vers le solde du compte financier.
Créer un compte financier
Une fois que Stripe a ajouté la fonctionnalité treasury à un compte et qu’elle est marquée active, vous pouvez créer un objet FinancialAccount pour le compte connecté. Pour ce faire, appelez FinancialAccounts et demandez les Features (fonctionnalités) que vous souhaitez fournir :
Lorsque vous demandez des fonctionnalités lors de la création du compte financier, la réponse indique leur état dans les paramètres active_, pending_ et restricted_ :
{ "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", ... }
L’activation peut être instantanée pour certaines fonctionnalités (par exemple pour card_). Cependant, d’autres fonctionnalités, telles que financial_, s’activent de manière asynchrone et peuvent rester à l’état en attente jusqu’à 30 minutes, le temps que Stripe communique avec les systèmes externes. Une fois toutes les fonctionnalités pertinentes activées, vous recevez une confirmation sur le récepteur webhook treasury.. Pour en savoir plus sur les fonctionnalités des comptes financiers, consultez la section sur les fonctionnalités disponibles.
Associer un compte bancaire
Pour permettre à vos clients de transférer de l’argent vers et depuis un compte externe, créez un SetupIntent avec les paramètres requis, et indiquez que votre client est titulaire du compte externe en le rattachant à self :
La réponse de l’API inclut un identifiant de payment_ unique, qui sert à référencer ce compte bancaire lors des virements ACH :
{ "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" ] }
Pour utiliser un compte bancaire, vous devez d’abord le vérifier à l’aide de microversements (option sur laquelle nous nous concentrons ici) ou de connexions financières (option la plus rapide). La réponse SetupIntent de l’étape précédente inclut une URL hosted_ que vous devez présenter à votre client pour qu’il puisse saisir le code de libellé associé au microversement. Utilisez la valeur SM11AA pour vérifier le compte bancaire ou testez d’autres cas de figure à l’aide des numéros de comptes de test fournis par Stripe.

Vérification à l’aide de microversements
Ajouter des fonds au compte financier
À ce stade, le compte connecté dispose d’un FinancialAccount crédité des fonds d’un InboundTransfer. Vous pouvez les dépenser avec des cartes ou des OutboundPayments, comme les virements bancaires ou ACH.
Pour en savoir plus, consultez les pages suivantes :
- Obtenir les autorisations pour les InboundTransfers
- Utiliser Financial Accounts pour les plateformes
- Utilisation de Financial Accounts pour transférer des fonds
- Demander des fonctionnalités sur un Financial Account
- Utilisation de SetupIntents, PaymentMethods et BankAccounts
- Transférer des fonds à l’aide d’objets InboundTransfer
- Transférer des fonds à l’aide d’objets ReceivedCredit
Utiliser la carte
Créer une autorisation
Pour observer l’impact des activités de carte sur le solde associé, générez une autorisation test. Vous pouvez le faire sur la page Issuing du Dashboard du compte connecté ou en effectuant l’appel suivant à l’API Authorization :
Après approbation, Stripe crée une Authorization à l’état pending en attendant la capture. Notez l’id d’autorisation que vous utiliserez pour capturer les fonds :
{ "id": "iauth_1NvPyY2SSJdH5vn2xZQE8C7k", "object": "issuing.authorization", "amount": 1000, ... "status": "pending", "transactions": [], }
Vous pouvez récupérer les détails du solde du compte financier et consulter l’effet de l’autorisation :
La réponse de l’API est un objet FinancialAccount avec un hachage balance (solde) détaillant les fonds et leur disponibilité :
{ "object": "treasury.financial_account", "id": "{{FINANCIAL_ACCOUNT_ID}}", ... "balance": { "cash": {"usd": 19000}, "inbound_pending": {"usd": 0}, "outbound_pending": {"usd": 1000} } }
La réponse indique que 190 USD sont actuellement disponibles, ainsi que 10 USD supplémentaires placés dans outbound_ à partir de l’autorisation pending. Vous pouvez désormais simuler la capture de l’autorisation avec l’API.
Capturer les fonds
Capturez les fonds à l’aide du code suivant :
Une fois l’autorisation capturée, Stripe crée une transaction Issuing. L’attribut status de l’autorisation reçoit la valeur closed et un webhook ReceivedDebit est créé à partir de ces informations. La récupération des informations du solde du compte financier montre que la valeur outbound_ est désormais de 0 USD alors que le solde disponible reste de 190 USD :
{ "object": "treasury.financial_account", "id": "{{FINANCIAL_ACCOUNT_ID}}", ... "balance": { "cash": {"usd": 19000}, "inbound_pending": {"usd": 0}, "outbound_pending": {"usd": 0} } }