# Autorisations Issuing Comment utiliser Issuing pour gérer les demandes d'autorisation. Lorsqu’une carte bancaire est utilisée pour effectuer un achat, une demande d’autorisation est générée, puis approuvée ou refusée en fonction des étapes suivantes : 1. Stripe vérifie que les fonds disponibles sur le [solde utilisé pour Issuing](https://docs.stripe.com/issuing/funding/balance.md) sont suffisants, que la carte est active et que vos [contrôles de dépense](https://docs.stripe.com/issuing/controls/spending-controls.md) permettent l’autorisation. Parfois, Stripe [approuve ou refuse immédiatement la demande d’autorisation](https://docs.stripe.com/issuing/purchases/authorizations.md#scenarios-without-a-real-time-authorization-request) à ce stade. 1. Stripe envoie un événement `issuing_authorization.request`. Si vous n’avez pas de webhook d’autorisation en temps réel, nous approuvons l’autorisation sans envoyer l’événement `issuing_authorization.request`. > #### Écouter les événements Stripe > > Configurez un [webhook d’autorisation en temps réel](https://docs.stripe.com/issuing/controls/real-time-authorizations.md) pour écouter cet événement afin de pouvoir approuver ou refuser les autorisations de manière synchrone. 1. Vous pouvez [approuver ou refuser](https://docs.stripe.com/issuing/controls/real-time-authorizations.md) l’autorisation en répondant directement à l’événement webhook. Si vous n’approuvez pas ou ne refusez pas la `issuing_authorization.request` sous 2 secondes, Stripe utilise vos [paramètres de délai d’attente du webhook](https://dashboard.stripe.com/settings/issuing) pour approuver ou refuser l’autorisation. 1. Stripe envoie un événement `issuing_authorization.created`, vous informant de la création de l’[Autorisation](https://docs.stripe.com/api.md#issuing_authorization_object) et de la décision. (See full diagram at https://docs.stripe.com/issuing/purchases/authorizations) ## Scénarios sans demande d’autorisation en temps réel Il arrive que Stripe reçoive du réseau de cartes une demande d’autorisation qu’elle approuve ou refuse sans vous envoyer d’événement `issuing_authorization.request` : - Si Stripe décide que la demande d’autorisation ne peut être approuvée (par exemple, parce que la carte est inactive ou que vos [contrôles de dépenses](https://docs.stripe.com/issuing/controls/spending-controls.md) ne l’autorisent pas), nous la refuserons. - Si vous n’avez pas configuré de [webhook d’autorisation en temps réel](https://docs.stripe.com/issuing/controls/real-time-authorizations.md) et que nous n’avons pas de raison de refuser la demande d’autorisation, nous l’approuverons. En pareil cas, Stripe envoie quand même un événement `issuing_authorization.created` pour vous informer de la création de l’[autorisation](https://docs.stripe.com/api.md#issuing_authorization_object). ### Remboursements De nombreuses entreprises envoient des demandes d’autorisation de remboursement en temps réel. Stripe a mis en place une logique par défaut pour traiter ces demandes. Si l’entreprise effectue le remboursement, un objet [Refund Transaction](https://docs.stripe.com/issuing/purchases/transactions.md?issuing-capture-type=refunds#handling-other-transactions) apparaît. ## Mises à jour des autorisations Lorsque Stripe reçoit une demande d’autorisation, nous envoyons un événement [webhook](https://docs.stripe.com/webhooks.md) `issuing_authorization.created`. Si vous approuvez cette autorisation, nous déduisons le montant `amount` de votre solde Issuing et le plaçons en réserve jusqu’à ce que l’autorisation soit capturée, annulée ou expirée sans capture. Si vous refusez l’autorisation, l’état prend la valeur `closed` et nous n’effectuons pas de mise en réserve. Lorsque l’autorisation est capturée, une [transaction](https://docs.stripe.com/issuing/purchases/transactions.md) est créée et le `status` de l’autorisation est défini sur `closed`. Si la demande d’autorisation est annulée, nous envoyons un événement [webhook](https://docs.stripe.com/webhooks.md) `issuing_authorization.updated` avec un `status` défini sur `reversed` et un `amount` sur `0`. Nous reversons le montant annulé de sur votre solde Issuing, ce qui annule l’opération sur solde initiale. Stripe peut faire expirer une autorisation en supprimant la suspension sur le solde d’une autorisation après un certain temps. Si la demande d’autorisation expire sans capture, nous envoyons un événement de [webhook](https://docs.stripe.com/webhooks.md) `issuing_authorization.updated` dont le `status` est défini sur `expired` dans les versions 2025-03-31.basil ou ultérieures de l’API, ou sur `reversed` dans les versions 2025-03-31.basil ou antérieures de l’API. Le champ `amount` représente tout montant restant autorisé pour d’éventuelles captures ultérieures. Nous ajoutons le montant expiré à votre solde Issuing, ce qui revient à neutraliser l’autorisation initiale sur le solde. Le tableau suivant décrit la séquence des opérations sur une autorisation et l’état associé à chaque opération : | Opérations sur l’objet Authorization | État (sur les versions 2025-03-31.basil et ultérieures) | | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | | En attente de réponse à la demande d’autorisation en temps réel | En attente | | L’autorisation est refusée sur la base de la réponse associée à la demande d’autorisation en temps réel | Clôturée | | L’autorisation est approuvée, mais la capture est en attente | En attente | | L’autorisation est approuvée, puis entièrement capturée | Clôturée | | L’autorisation est approuvée, puis partiellement capturée | En attente | | L’autorisation est approuvée, puis intégralement annulée | Annulé | | L’autorisation est approuvée, puis partiellement annulée | En attente | | L’autorisation est approuvée, puis a expiré chez Stripe | Expiré | | L’autorisation est approuvée, partiellement capturée, puis le solde est entièrement annulé | Clôturée | | L’autorisation est approuvée, partiellement capturée, puis a expiré chez Stripe | Clôturée | | L’autorisation est approuvée, partiellement annulée, puis le solde est entièrement capturé | Clôturée | | L’autorisation est approuvée, partiellement annulée, puis a expiré chez Stripe | Expiré | | L’autorisation est approuvée, a expiré chez Stripe, puis est entièrement capturée | Expiré | | L’autorisation est approuvée, a expiré chez Stripe, puis est partiellement capturée | Expiré | | L’autorisation est approuvée, a expiré chez Stripe, puis est intégralement annulée | Annulé | | L’autorisation est approuvée, a expiré chez Stripe, puis est partiellement annulée | Expiré | ## Achats dans plusieurs devises Les cartes peuvent être utilisées pour effectuer des achats dans n’importe quelle devise prise en charge par le réseau de la carte. Stripe convertit automatiquement la devise de l’achat dans la devise de la carte lors du blocage des fonds, en appliquant le taux de change du jour du réseau de la carte. Le `merchant_amount` reflète le coût de l’achat dans la devise locale. Le champ `amount` reflète le montant attendu de la `Transaction` dans la devise de la carte bancaire. Ce montant reste provisoire jusqu’à ce que l’`Authorization` ait été capturée. ## Gestion d’autres autorisations En plus des autorisations standard, il existe quelques cas particuliers que vous devriez savoir gérer. #### Autorisation partielle Certaines autorisations peuvent faire l’objet d’une autorisation partielle visant à limiter les dépenses. Cela vous permet d’autoriser un montant inférieur spécifique, ce qui est utile lorsque les fonds ne permettent pas de couvrir l’intégralité de l’achat. Les stations-service aux États-Unis en sont un parfait exemple. En savoir plus sur les [autorisations des distributeurs de carburant](https://docs.stripe.com/issuing/purchases/authorizations.md#fuel-dispenser-authorizations). Lorsqu’une autorisation est partiellement autorisée, le champ `is_amount_controllable` de la requête d’autorisation est défini sur `true`. Vous pouvez spécifier le montant que vous souhaitez approuver en définissant le champ `amount` dans le corps de la réponse du webhook ou l’appel d’[approbation](https://docs.stripe.com/api/issuing/authorizations/approve.md). Si vous approuvez partiellement une autorisation de cashback, vous devez approuver le montant total du cashback. Vous ne pouvez pas approuver un attribut `amount` inférieur au `cashback_amount`. (See full diagram at https://docs.stripe.com/issuing/purchases/authorizations) ### Tests Pour simuler la création d’une nouvelle autorisation partielle, vous pouvez utiliser l’[API Authorization Create](https://docs.stripe.com/api/issuing/authorizations/test_mode_create.md) dans les assistants de test d’Issuing. ```curl curl https://api.stripe.com/v1/test_helpers/issuing/authorizations \ -u "<>:" \ -d "card={{ISSUINGCARD_ID}}" \ -d amount=100 \ -d "merchant_data[category]=automated_fuel_dispensers" \ -d is_amount_controllable=true ``` #### Autorisation complémentaire Les autorisations complémentaires sont des autorisations supplémentaires qui viennent s’ajouter à une première autorisation. Celles-ci sont courantes dans le secteur hôtelier, par exemple pour la gestion du service d’étage ou des frais de nettoyage après le départ. (See full diagram at https://docs.stripe.com/issuing/purchases/authorizations) Vous pouvez approuver ou refuser les demandes complémentaires avec la même [intégration de webhooks](https://docs.stripe.com/issuing/controls/real-time-authorizations.md) que pour les autorisations ordinaires. En cas d’autorisation complémentaire, nous envoyons un nouvel événement `issuing_authorization.request` pour l’objet `Authorization` initial, ce qui vous permet de décider d’approuver ou non le montant mis à jour. L’objet présente alors un attribut `pending_request` mis à jour, accompagné d’un attribut `pending_request.amount` correspondant au montant supplémentaire demandé. (See full diagram at https://docs.stripe.com/issuing/purchases/authorizations) Notez que le champ `approved` a la valeur `true`, car l’autorisation d’origine reste approuvée, et que le champ `status` n’étant pas encore effacé, il affiche la valeur `pending`. Le champ `amount` de niveau supérieur correspond au montant initial approuvé pour cette autorisation. Dans l’exemple ci-dessus, si vous approuvez le montant complémentaire, l’attribut `authorization.amount` passe à 120 USD. Si vous refusez le montant complémentaire, le champ `approved` reste `true` (puisque la demande d’autorisation d’origine reste approuvée) et l’attribut `authorization.amount` reste de 100 USD. Tous les montants incrémentiels approuvés sont déduits de votre solde Issuing. L’approbation d’une autorisation complémentaire prolonge la date d’expiration. Vous pouvez consulter l’historique des demandes d’autorisation dans le `request_history` de l’`Authorization`. ### Tests Pour simuler un complément d’autorisation, vous pouvez utiliser l’[API Authorization Increment](https://docs.stripe.com/api/issuing/authorizations/test_mode_increment.md) dans les assistants de test d’Issuing. ```curl curl https://api.stripe.com/v1/test_helpers/issuing/authorizations/{{ISSUINGAUTHORIZATION_ID}}/increment \ -u "<>:" \ -d increment_amount=4242 ``` #### Annulation partielle Si une entreprise décide de réduire le montant autorisé, elle peut effectuer une annulation partielle. Les annulations partielles affectent l’autorisation initiale et créent des événements `issuing_authorization.updated`, qui viennent réduire les attributs `amount` et `merchant_amount` de l’autorisation d’origine. Les fonds excédentaires sont immédiatement reversés sur votre solde disponible. ### Tests Pour simuler l’annulation partielle d’une autorisation, vous pouvez utiliser l’[API Authorization Reverse](https://docs.stripe.com/api/issuing/authorizations/test_mode_reverse.md) dans les assistants de test d’Issuing. Si vous ne spécifiez pas de paramètre `reverse_amount`, c’est le montant total qui sera annulé. ```curl curl https://api.stripe.com/v1/test_helpers/issuing/authorizations/{{ISSUINGAUTHORIZATION_ID}}/reverse \ -u "<>:" \ -d reverse_amount=4242 ``` #### Vérifications de carte bancaire Un commerçant peut utiliser une vérification de carte (parfois appelée « vérification de compte », « demande d’état de compte » ou « autorisation à montant nul ») pour s’assurer qu’une carte est valide sans demander de fonds. Par exemple, un service d’abonnement peut utiliser la vérification de carte bancaire pour valider une carte utilisée afin de s’inscrire à un essai gratuit. Par défaut, Stripe approuve toutes les vérifications de carte qui passent les contrôles de sécurité de base. ## Autorisations des distributeurs de carburant Lorsqu’un titulaire de carte tente d’effectuer un achat dans une station-service ([MCC 5542](https://docs.stripe.com/issuing/categories.md)), une `issuing_authorization.request` d’un montant de 1 USD (appelée « contrôle d’état ») est envoyée. Le montant bloqué par défaut pour couvrir un montant d’achat inconnu est de 100 USD. Lorsque le client a fini de se servir à la pompe, l’autorisation est mise à jour et un événement `issuing_authorization.updated` reflétant le montant de l’achat est envoyé. Lorsque le distributeur de carburant admet les [autorisations partielles](https://docs.stripe.com/issuing/purchases/authorizations.md?issuing-authorization-type=partial_authorization#handling-other-authorizations) en définissant le champ `is_amount_controllable` sur `true`, vous pouvez répondre avec un montant approuvé inférieur (par exemple, 50 USD) ou un montant approuvé supérieur. Si vous répondez avec un montant supérieur, vous risquez de perdre certains droits liés aux litiges. Si le distributeur de carburant interdit les autorisations partielles, vous devez soit approuver le montant par défaut du réseau, auquel cas Stripe ignorera tout autre montant spécifié, soit refuser l’autorisation. Pour les [programmes de flottes commerciales](https://docs.stripe.com/issuing/customize-your-program.md#card-product-type), Stripe reçoit certaines informations dans les hachages de l’authentification Issuing [flotte](https://docs.stripe.com/api/issuing/authorizations/object.md#issuing_authorization_object-fleet) et [carburant](https://docs.stripe.com/api/issuing/authorizations/object.md#issuing_authorization_object-fuel) après la distribution du carburant. Par conséquent, certains de ces champs ne seront pas remplis pendant le webhook `issuing_authorization.request` et seront envoyés plus tard dans le webhook `issuing_authorization.updated`. ## Autorisations récurrentes Stripe autorise les autorisations récurrentes sur les cartes bancaires expirées. Annulez la carte bancaire ou désactivez son titulaire pour refuser toutes les autorisations récurrentes futures. Les captures sur les autorisations précédemment approuvées aboutissent toujours. ## Utilisation avec Treasury pour les plateformes Les autorisations de cartes bancaires qui utilisent des fonds sauvegardés dans des [FinancialAccounts](https://docs.stripe.com/api/treasury/financial_accounts.md) comportent un [champ de](https://docs.stripe.com/api/issuing/authorizations/object.md#issuing_authorization_object-treasury) `trésorerie` avec des références à des ressources connexes: [Transaction](https://docs.stripe.com/api/treasury/transactions.md), [ReceivedCredit](https://docs.stripe.com/api/treasury/received_credits.md) et [ReceivedDebit](https://docs.stripe.com/api/treasury/received_debits.md). ## Scénarios sans enregistrement des autorisations refusées dans le Dashboard ou l’API Dans certains cas, une autorisation effectuée avec une carte Issuing peut être refusée et ni vous ni vos comptes connectés ne recevrez un événement de webhook ou un enregistrement d’autorisation (`iauth_`). Dans ces cas, assurez-vous de recueillir autant d’informations que possible sur l’autorisation refusée avant de contacter le service Support de Stripe pour obtenir de l’aide. Nous vous recommandons d’inclure les informations suivantes : - L’heure du refus de paiement - Le titulaire de la carte (`ich_`) qui a effectué l’achat - La carte bancaire (`ic_`) utilisée pour l’autorisation - Le marchand concerné par l’autorisation - Toute autre circonstance concernant l’autorisation Il est possible que l’autorisation soit refusée avant que les informations relatives à la transaction ne soient transmises à Stripe. Dans ce cas, le titulaire de la carte concerné doit directement contacter l’entreprise pour déterminer la cause du refus, car Stripe n’a pas reçu d’enregistrement de l’autorisation. Il est possible que vous rencontriez d’autres cas de refus sans événement de webhook ou objet d’autorisation associé, pour lesquels Stripe peut vous aider. Pour déterminer la classification du refus, contactez le service Support de Stripe avec les informations fournies ci-dessus. Nous pouvons vous aider à déterminer les étapes les plus appropriées pour enquêter sur les refus de paiement.