# Issuing pour les agents Découvrez comment émettre des cartes pour les agents. Issuing pour les agents vous permet d’émettre des cartes virtuelles que les agents peuvent utiliser pour effectuer des achats de manière autonome, avec des contrôles de dépenses, des décisions d’autorisation en temps réel et une visibilité complète des transactions. Avant qu’un agent effectue un achat, vous pouvez décider de ce qu’il peut dépenser, où, et à quelle hauteur. Les cartes sont adossées à des comptes financiers et émises via les API Stripe Issuing. ## Produits Issuing pour les agents Vous pouvez utiliser Issuing pour les agents avec les produits Issuing suivants : | Produit | Description | Demander l’accès | | --------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | Cartes bancaires pour votre propre entreprise | Utilisez Issuing pour attribuer à chaque agent sa propre carte virtuelle avec des limites de dépenses par agent, des contrôles de catégories de commerçants et des règles d’autorisation personnalisées. Les cas d’usage courants incluent l’achat de stocks à revendre, la couverture des dépenses opérationnelles et les achats pour la réalisation d’un service. | [Faites une demande dans le Dashboard Stripe](https://dashboard.stripe.com/issuing/overview) | | Cartes bancaires pour votre plateforme | Si vous êtes une plateforme, telle qu’une fintech, une SaaS verticale ou une marketplace, vous pouvez utiliser Issuing pour permettre aux agents de dépenser au nom des entreprises ou des consommateurs sur votre plateforme. Émettez des cartes commerciales pour les entreprises clientes qui gèrent des dépenses, ou des cartes grand public pour les particuliers effectuant des achats personnels. Vos titulaires de carte configurent leurs propres limites de dépenses, restrictions en matière de catégories de commerçants et leurs règles d’autorisation. Vous conservez une visibilité au niveau des transactions sur toutes les cartes émises par votre plateforme. | [Contacter Stripe](https://stripe.com/contact/embedded-finance) | ## Fonctionnalités d’Issuing pour les agents | Fonctionnalité | Description | | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | [Cartes à usage unique](https://docs.stripe.com/issuing/controls/lifecycle-controls.md) | Émettez des cartes virtuelles limitées à une seule tâche ou session. Les cartes sont automatiquement invalidées après leur utilisation. | | [Autorisations en temps réel](https://docs.stripe.com/issuing/controls/real-time-authorizations.md) | Approuvez ou refusez chaque transaction via des webhooks. Prenez des décisions d’autorisation basées sur les informations de l’entreprise et les métadonnées de la carte. Vous êtes propriétaire de l’intégration d’autorisation. | | [Contrôles des dépenses](https://docs.stripe.com/issuing/controls/spending-controls.md#limit-a-cardholders-monthly-spend-across-all-of-their-cards) | Définissez des limites sur le montant et la fréquence des dépenses des consommateurs, ainsi que sur les catégories de commerçants autorisées. Vous pouvez définir des contrôles au niveau de la carte bancaire ou du titulaire de la carte. | | [Visibilité complète des transactions](https://docs.stripe.com/issuing/purchases/transactions.md) | Suivez chaque transaction, y compris les captures, les remboursements, les captures partielles, les sur-captures et les captures forcées, et rapprochez-les à la carte bancaire d’origine et à l’achat via les métadonnées. | | [Signaux de fraude avancés](https://docs.stripe.com/issuing/controls/advanced-fraud-tools.md#get-started-with-advanced-fraud-tooling) | Obtenez des scores de risque générés par machine learning sur chaque autorisation, incluant le risque de fraude, le risque de litige du commerçant et les détections de test de cartes bancaires. Activez cette option dans le Dashboard Stripe. | ## Cartes virtuelles Les cartes virtuelles sont le type de carte bancaire le plus courant pour les cas d’usage agentiques. Elles n’existent que sous forme de numéro de carte, de date d’expiration et de CVC, sans représentation physique. Lorsque vous en émettez une, un agent peut immédiatement commencer à effectuer des achats. Ces cartes étant numériques, vous pouvez limiter leurs fonctionnalités à une seule entreprise, une seule transaction ou un montant spécifique avant que l’agent ne les utilise. Commencez par utiliser cet appel pour émettre une carte virtuelle limitée à une catégorie de commerçant spécifique et à une limite de dépenses : ```curl curl https://api.stripe.com/v1/issuing/cards \ -u "{{SECRET_KEY}}:" \ -d "cardholder"="ich_123" \ -d "currency"="usd" \ -d "type"="virtual" \ -d "status"="active" \ -d "spending_controls[allowed_categories][]"="computer_software_stores" \ -d "spending_controls[spending_limits][0][amount]"=50000 \ -d "spending_controls[spending_limits][0][interval]"="monthly" ``` Ensuite, récupérez le numéro de carte et le CVC, et transmettez-les à votre agent lors du paiement : ```curl curl -G https://api.stripe.com/v1/issuing/cards/ic_123 \ -u "{{SECRET_KEY}}:" \ -d "expand[]"=number \ -d "expand[]"=cvc ``` La réponse inclut les identifiants de carte dont votre agent a besoin pour finaliser un achat : ```json { "id": "ic_123", "number": "4242424242424242", "cvc": "123", "exp_month": 12, "exp_year": 2027, "status": "active" } ``` ## Cartes à usage unique Pour les achats ponctuels, comme un paiement fournisseur, une commande de réalisation ou une transaction client, vous pouvez émettre une carte bancaire qui s’annule automatiquement après qu’une seule autorisation est validée. Ainsi, même si les identifiants de la carte sont exposés après l’achat, ils ne peuvent plus être réutilisés. Utilisez les métadonnées pour relier chaque carte à la tâche, à la commande ou à l’agent spécifique qui l’a déclenchée. Commencez par utiliser cette méthode pour émettre une carte bancaire qui s’annule après un seul paiement réussi égal à un montant spécifique : ```curl curl https://api.stripe.com/v1/issuing/cards \ -u "{{SECRET_KEY}}:" \ -d "cardholder"="ich_123" \ -d "currency"="usd" \ -d "type"="virtual" \ -d "status"="active" \ -d "lifecycle_controls[cancel_after][payment_count]"=1 \ -d "spending_controls[spending_limits][0][amount]"=7500 \ -d "spending_controls[spending_limits][0][interval]"="per_authorization" \ -d "metadata[agent_id]"="agent_fulfillment_01" \ -d "metadata[customer_order_id]"="order_8821" \ -d "metadata[supplier]"="supplier_logistics_co" ``` Ensuite, récupérez les identifiants de la carte, et transmettez-les à votre agent lors du paiement : ```curl curl -G https://api.stripe.com/v1/issuing/cards/ic_123 \ -u "{{SECRET_KEY}}:" \ -d "expand[]"=number \ -d "expand[]"=cvc ``` ## Contrôles des dépenses Avant qu’un agent effectue le moindre achat, vous pouvez définir ce qu’il est autorisé à dépenser, où et à quelle fréquence. Ces contrôles sont définis lors de la création de la carte et peuvent être mis à jour à tout moment. Vous pouvez les rendre plus stricts lorsque la portée d’une tâche évolue, les assouplir lorsqu’un budget supplémentaire est approuvé, ou les supprimer pour les agents de confiance disposant de mandats étendus. Les contrôles de catégories de commerçants limitent la carte à des types d’entreprises spécifiques. Par exemple, un agent de réservation de voyages ne doit pouvoir facturer que les compagnies aériennes et les hôtels, et non les restaurants ou les magasins de vente au détail : ```curl curl https://api.stripe.com/v1/issuing/cards \ -u "{{SECRET_KEY}}:" \ -d "cardholder"="ich_123" \ -d "currency"="usd" \ -d "type"="virtual" \ -d "status"="active" \ -d "spending_controls[allowed_categories][]"="airlines_air_carriers" \ -d "spending_controls[allowed_categories][]"="hotels_motels_and_resorts" ``` Les limites de dépenses définissent le montant que la carte peut être débitée, que ce soit par transaction ou sur une période glissante : ```curl curl https://api.stripe.com/v1/issuing/cards/ic_123 \ -u "{{SECRET_KEY}}:" \ -d "spending_controls[spending_limits][0][amount]"=100000 \ -d "spending_controls[spending_limits][0][interval]"="monthly" \ -d "spending_controls[spending_limits][1][amount]"=10000 \ -d "spending_controls[spending_limits][1][interval]"="per_authorization" ``` ## Autorisation en temps réel Après avoir transmis une carte à un agent, chaque tentative d’achat déclenche une requête d’autorisation en temps réel avant que le paiement ne soit effectué. Cela vous permet d’approuver ou de refuser la transaction en fonction de vos règles de dépenses, des signaux de fraude, des restrictions de catégories de commerçants ou du contexte de la mission de l’agent. Commencez par écouter les événements `issuing_authorization.request`. Chaque événement contient l’entreprise, le montant et les métadonnées que vous avez attachées à la carte lors de son émission. Un délai d’expiration par défaut de 2 secondes s’applique pour répondre avant que Stripe ne revienne aux règles par défaut de la carte : ```json { "type": "issuing_authorization.request", "data": { "object": { "id": "iauth_123", "amount": 9900, "merchant_data": { "name": "Acme Supplies", "category_code": "5045", "city": "San Francisco", "country": "US" }, "card": { "metadata": { "agent_id": "agent_fulfillment_01", "customer_order_id": "order_8821", "allowed_merchant": "supplier_acme" } } } } } ``` Ensuite, utilisez la charge utile de l’autorisation pour effectuer les vérifications requises par votre entreprise avant d’approuver. Les modèles courants incluent : - **Correspondance de l’entreprise** : vérifiez que le nom ou la catégorie du commerçant correspond à la tâche de l’agent - **Confirmation du montant** : confirmez que le paiement est dans le budget prévu pour la commande ou la tâche - **Vérification de la fréquence** : signalez si l’agent a tenté un nombre inhabituel de transactions dans un court laps de temps - **Signaux de fraude** : comparez le pays, l’IP ou la catégorie du commerçant avec les mécanismes de fraude connus Si la transaction semble légitime, approuvez-la. Si quelque chose semble anormal, refusez-la et signalez-la à l’agent ou à un vérificateur humain. Vous pouvez utiliser les outils antifraude avancés de Stripe dans votre processus de décision. Stripe évalue chaque autorisation pour détecter les signaux de fraude et produit un score de risque que vous pouvez intégrer à votre logique d’approbation : ```json { "type": "issuing_authorization.request", "data": { "object": { "id": "iauth_123", "amount": 9900, "fraud_challenges": [], "network_risk_score": 23, "merchant_data": { "name": "Acme Supplies", "category_code": "5045" }, "verification_data": { "address_line1_check": "match", "postal_code_check": "match", "cvc_check": "match" } } } } ``` Un score de risque faible, associé à des vérifications d’adresse et de CVC réussies, est un signal d’approbation. Un score de risque élevé, surtout combiné à une adresse non concordante ou à un pays de l’entreprise inconnu, est un signal qui vous recommande de refuser le paiement et d’investigation avant de laisser l’agent continuer. ## Surveiller les transactions de l’agent Chaque transaction effectuée par votre agent est traçable. Utilisez les webhooks et les données de transaction de Stripe pour suivre les dépenses, détecter les anomalies, rapprocher les achats et contester les surfacturations automatiquement, sans supervision manuelle. ### Détecter les dépenses inhabituelles Les agents peuvent analyser en continu l’historique des transactions pour détecter les achats inhabituels, tels que les paiements provenant d’entreprises inconnues, les transactions dépassant les montants habituels ou les activités en dehors des horaires prévus. Lorsqu’un agent détecte une transaction suspecte, il peut automatiquement geler la carte bancaire ou la signaler pour qu’elle soit vérifiée. Commencez par récupérer les transactions récentes d’un titulaire de carte pour donner à votre agent une fenêtre d’activité à vérifier : ```curl curl -G https://api.stripe.com/v1/issuing/transactions \ -u "{{SECRET_KEY}}:" \ -d "cardholder"="ich_123" \ -d "limit"=100 ``` Ensuite, transmettez la liste des transactions à votre agent. Signalez toute transaction dont la catégorie de commerçant sort du cadre attendu, ou dont le montant est significativement supérieur à la moyenne historique du titulaire de carte : ```json { "transactions": [ { "amount": 42000, "merchant_data": { "category_code": "5999", "name": "Unknown Merchant" }, "card": { "metadata": { "agent_id": "agent_finance_01", "cost_center": "engineering" } } } ] } ``` Si l’agent signale une transaction, gelez immédiatement la carte bancaire pendant que le problème est examiné : ```curl curl https://api.stripe.com/v1/issuing/cards/ic_123 \ -u "{{SECRET_KEY}}:" \ -d "status"="inactive" ``` ### Suivre les dépenses par rapport aux budgets Chaque carte peut être assortie d’une limite de dépenses, ainsi que d’un maximum mensuel, d’un maximum par transaction, ou des deux. Les agents peuvent surveiller en temps réel la part du budget utilisée et agir avant qu’une limite ne soit atteinte, en alertant le titulaire de la carte, en demandant une augmentation de budget ou en bloquant de nouveaux achats jusqu’à la réinitialisation de la période suivante. Commencez par vous abonner à `issuing_authorization.created` pour capturer chaque achat au moment de son approbation : ```json { "type": "issuing_authorization.created", "data": { "object": { "amount": 15000, "card": { "spending_controls": { "spending_limits": [{ "amount": 50000, "interval": "monthly" }] }, "metadata": { "agent_id": "agent_finance_01" } } } } } ``` À mesure que les autorisations sont récupérées, comparez leur total à la limite mensuelle de la carte. Lorsque les dépenses franchissent un seuil (par exemple, 80 %), notifiez le titulaire de la carte ou ajustez la limite : ```curl curl https://api.stripe.com/v1/issuing/cards/ic_123 \ -u "{{SECRET_KEY}}:" \ -d "spending_controls[spending_limits][0][amount]"=40000 \ -d "spending_controls[spending_limits][0][interval]"="monthly" ``` ### Rapprocher les achats automatiquement Après le règlement d’un achat, généralement dans un délai de 1 à 2 jours suivant l’autorisation initiale, Stripe crée un enregistrement de transaction avec le montant final et les coordonnées de l’entreprise. Les agents peuvent l’utiliser pour rapprocher automatiquement les paiements aux tâches ou commandes qui les ont déclenchés, signaler les écarts entre le montant réglé et le montant autorisé, et tenir vos livres de compte à jour sans intervention manuelle. Commencez par vous abonner à `issuing_transaction.created` pour recevoir une notification chaque fois qu’un paiement est entièrement réglé : ```json { "type": "issuing_transaction.created", "data": { "object": { "amount": 7500, "merchant_data": { "name": "Logistics Co", "category_code": "4215" }, "card": { "metadata": { "customer_order_id": "order_8821", "agent_id": "agent_fulfillment_01" } } } } } ``` Utilisez les métadonnées de la transaction pour la relier à la commande ou à la tâche d’origine dans votre système. Si le montant réglé diffère du montant initialement autorisé, signalez cette transaction pour qu’elle soit vérifiée : ```curl curl https://api.stripe.com/v1/issuing/transactions \ -u "{{SECRET_KEY}}:" \ -d "cardholder"="ich_123" \ -d "created[gte]"=1672531200 ``` ### Détecter et contester les surfacturations Lorsqu’une carte bancaire est utilisée, Stripe crée d’abord une autorisation pour le montant prévu. Lorsque le paiement est entièrement réglé, Stripe crée une transaction, et les deux montants ne correspondent pas toujours. Un restaurant peut ajouter un pourboire, un fournisseur peut expédier une commande partielle mais la facturer en totalité, ou une entreprise peut traiter un montant erroné. Les agents peuvent automatiquement comparer le montant autorisé et le montant facturé, et déposer un litige en votre nom en cas de divergence. Lorsqu’une transaction est réglée, récupérez l’autorisation d’origine pour comparer les montants : ```curl curl https://api.stripe.com/v1/issuing/authorizations/iauth_123 \ -u "{{SECRET_KEY}}:" ``` Votre agent compare le montant autorisé au montant de la transaction réglée. Si la différence dépasse un seuil que vous définissez, il signale la transaction et initie un litige : ```json { "authorization_amount": 7500, "transaction_amount": 9200, "delta": 1700, "card": { "metadata": { "customer_order_id": "order_8821", "agent_id": "agent_fulfillment_01" } } } ``` Vous pouvez également contester directement la transaction : ```curl curl https://api.stripe.com/v1/issuing/disputes \ -u "{{SECRET_KEY}}:" \ -d "transaction"="ipi_123" \ -d "evidence[reason]"="canceled" \ -d "evidence[incorrect_amount][dispute_amount]"=7500 \ -d "evidence[incorrect_amount][original_transaction]"="ipi_123" ``` Ensuite, abonnez-vous à `issuing_dispute.updated` pour suivre l’état des litiges en cours et notifier le titulaire de la carte lorsqu’un litige est résolu et que les fonds sont récupérés : ```json { "type": "issuing_dispute.updated", "data": { "object": { "status": "won", "amount": 1700, "transaction": "ipi_123" } } } ``` ## See also - [Issuing pour votre entreprise](https://docs.stripe.com/issuing/for-your-business.md) - [Issuing pour votre plateforme](https://docs.stripe.com/issuing.md) - [Dépenses agentiques pour les dépenses personnelles](http://link.com/agents)