# Envoyer des événements vers Azure Event Grid Traiter les événements Stripe dans votre infrastructure Azure. [Azure Event Grid](https://learn.microsoft.com/en-us/azure/event-grid/overview) est un service d’acheminement d’événements évolutif et entièrement géré, fourni par Microsoft Azure. En intégrant Event Grid via une destination d’événements, vous pouvez acheminer les événements Stripe directement vers votre infrastructure Azure sans avoir à gérer le code d’intégration ni la logique de mise à l’échelle de l’infrastructure. Lorsqu’Event Grid reçoit des événements, il peut les acheminer vers [différents gestionnaires d’événements](https://learn.microsoft.com/en-us/azure/event-grid/event-handlers) (notamment les [webhooks](https://learn.microsoft.com/en-us/azure/event-grid/handler-webhooks), les [fonctions Azure](https://learn.microsoft.com/en-us/azure/event-grid/handler-functions) ou [Event Hub](https://learn.microsoft.com/en-us/azure/event-grid/handler-event-hubs)) pour les traiter ou déclencher des automatisations professionnelles. ## Flux des événements de Stripe vers Event Grid Stripe génère des événements lorsque des activités se produisent sur votre compte. Ces événements sont envoyés à Event Grid via une [rubrique partenaire Azure](https://learn.microsoft.com/en-us/azure/event-grid/concepts#partner-topics) dans votre [abonnement Azure](https://learn.microsoft.com/en-us/microsoft-365/enterprise/subscriptions-licenses-accounts-and-tenants-for-microsoft-cloud-offerings?view=o365-worldwide) (définie comme destination d’événements sur Stripe). Ensuite, les [abonnements aux événements Azure](https://learn.microsoft.com/en-us/azure/event-grid/subscribe-through-portal) acheminent ces événements vers vos [gestionnaires d’événements](https://learn.microsoft.com/en-us/azure/event-grid/event-handlers) configurés, qui traitent les données conformément à votre logique professionnelle. ## Enregistrer le fournisseur de ressources Event Grid [Le portail Azure] Avant de pouvoir utiliser Event Grid, vous devez enregistrer le [fournisseur de ressources](https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/resource-providers-and-types) Event Grid dans votre [abonnement](https://learn.microsoft.com/en-us/microsoft-365/enterprise/subscriptions-licenses-accounts-and-tenants-for-microsoft-cloud-offerings?view=o365-worldwide). Cependant, si vous avez déjà utilisé Event Grid dans le cadre de votre abonnement, passez directement à la section suivante pour créer une autorisation partenaire. Pour enregistrer le fournisseur de ressources Event Grid dans le portail Azure : 1. Utilisez la barre de recherche pour sélectionner **Abonnements**. 1. Sélectionnez l’abonnement que vous souhaitez utiliser pour Event Grid dans la liste des abonnements. 1. Sur la page de l’**Abonnement** sélectionné, cliquez sur **Paramètres** > **Fournisseurs de ressources**. 1. Recherchez **Microsoft.EventGrid** et confirmez que son **État** est **Non enregistré**. Si son état est **Enregistré**, passez directement à la section suivante et créez une autorisation partenaire. 1. Sélectionnez **Microsoft.EventGrid** dans la liste des fournisseurs. 1. Sélectionnez **Enregistrer** dans la barre de commandes. 1. Actualisez la page pour vous assurer que l’état de **Microsoft.EventGrid** est désormais **Enregistré**. ## Créer une autorisation partenaire [Le portail Azure] Créez une [autorisation partenaire](https://learn.microsoft.com/en-us/azure/event-grid/subscribe-to-partner-events#authorize-partner-to-create-a-partner-topic) dans le portail Azure afin que Stripe dispose du consentement nécessaire pour créer une [rubrique partenaire](https://learn.microsoft.com/en-us/azure/event-grid/concepts#partner-topics) dans [l’abonnement](https://learn.microsoft.com/en-us/microsoft-365/enterprise/subscriptions-licenses-accounts-and-tenants-for-microsoft-cloud-offerings?view=o365-worldwide) et le [groupe de ressources](https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/overview#resource-groups) que vous désignez. 1. Connectez-vous au portail Azure. 1. En haut de la barre de recherche, saisissez **Configurations partenaires**, puis sélectionnez **Configurations partenaires Event Grid** sous **Services** dans les résultats. 1. Sur la page **Configurations des partenaires Event Grid**, sélectionnez **+ Créer** sur la barre de commandes. 1. Sur la page **Créer une configuration partenaire**, procédez comme suit : 1. Dans la section **Détails du projet**, sélectionnez l’abonnement et le groupe de ressources pour lesquels vous souhaitez autoriser le partenaire à créer une rubrique partenaire. 1. Dans la section **Autorisations partenaires**, précisez une durée d’expiration par défaut pour les autorisations partenaires définies dans cette configuration. 1. Pour autoriser un partenaire à créer des rubriques partenaires dans le groupe de ressources précisé, sélectionnez le lien **+ Autorisation partenaire**. 1. Sélectionnez **Vérifier + créer**. 1. Sur la page **Ajouter une autorisation partenaire pour créer des ressources**, suivez ces étapes pour autoriser Stripe : 1. Sélectionnez **Stripe** dans la liste des [partenaires vérifiés](https://learn.microsoft.com/en-us/azure/event-grid/partner-events-overview#verified-partners) 1. Précisez la **date d’expiration de l’autorisation**. Lors de la configuration d’une intégration Event Grid, vous définirez une période d’expiration d’autorisation qui déterminera la durée pendant laquelle Stripe pourra créer de nouvelles rubriques partenaires dans l’abonnement. Cette autorisation est utilisée chaque fois qu’une nouvelle destination d’événements Stripe est créée avec cet ID d’abonnement. Nous vous recommandons de fixer cette valeur à 90 jours pour la plupart des implémentations. Cette période d’expiration affecte la capacité de Stripe à créer de nouvelles rubriques partenaires dans l’abonnement. Les rubriques partenaires existantes et la distribution des événements continueront de fonctionner même après l’expiration de l’autorisation. 1. Sélectionnez **Ajouter**. 1. Accédez à la page **Créer une configuration partenaire**. Ensuite, vérifiez que le partenaire est bien ajouté à la liste des autorisations partenaires en bas de la page. 1. Sélectionnez **Vérifier + créer** en bas de la page. 1. Sur la page **Vérifier**, vérifiez tous les paramètres, puis sélectionnez **Créer** pour créer l’inscription du partenaire. ## Ajouter une nouvelle destination d'événement [Workbench] > #### Envoyer des événements dans votre environnement de test > > Utilisez votre compte en mode production ou vos [environnements de test](https://docs.stripe.com/sandboxes.md) pour envoyer des événements à Event Grid. Créez une destination d’événements à l’aide de Workbench dans le Dashboard ou par voie programmatique avec [l’API](https://docs.stripe.com/api/v2/core/event-destinations.md) #### Dashboard Pour créer une destination d’événement dans le Dashboard : 1. Ouvrez l’onglet [Webhooks](https://dashboard.stripe.com/workbench/webhooks) dans Workbench. 1. Cliquez sur **Créer une destination**. 1. Sélectionnez l’emplacement d’où vous souhaitez recevoir les événements. Stripe prend en charge deux types de configurations : **Votre compte** et [Comptes connectés](https://docs.stripe.com/connect.md). Sélectionnez **Compte** pour écouter les événements de votre propre compte. Si vous avez créé une [application Connect](https://docs.stripe.com/connect.md) et que vous souhaitez écouter les événements de vos comptes connectés, sélectionnez **Comptes connectés**. > #### Écouter des événements à partir d'une destination d'événement de l'organisation > > Si vous créez une destination d’événements dans une [organisation](https://docs.stripe.com/get-started/account/orgs.md), sélectionnez **Comptes** pour écouter les événements provenant des comptes de votre organisation ou sélectionnez **Comptes connectés et v2** pour écouter les événements provenant de vos comptes connectés et comptes v2 au sein de votre organisation. 1. Sélectionnez les [types d’événements](https://docs.stripe.com/api/events/types.md) que vous souhaitez que cette destination reçoive. Cliquez ensuite sur **Continuer**. 1. Sélectionnez **Azure Event Grid** comme type de destination, puis cliquez sur **Continuer**. 1. Saisissez les informations suivantes : - [ID d’abonnement Azure](https://learn.microsoft.com/en-us/microsoft-365/enterprise/subscriptions-licenses-accounts-and-tenants-for-microsoft-cloud-offerings?view=o365-worldwide) : l’abonnement dans lequel votre rubrique partenaire Stripe est créée pour recevoir les événements. - [Groupe de ressources Azure](https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/overview#resource-groups) : le groupe de ressources qui contiendra la rubrique partenaire Stripe. - [Région Azure](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/) : les régions dans lesquelles la rubrique partenaire Stripe sera déployée. - (Facultatif) **Nom de la destination** : nom unique attribué à cette ressource de destination d’événements dans Stripe. Si vous ne fournissez pas de nom, nous en générons un pour vous aléatoirement. Vous pourrez le modifier ultérieurement. - (Facultatif) **Description** : une description qui distingue votre instance de destination d’événements. Vous pourrez modifier ce choix ultérieurement. 1. Cliquez sur **Créer une destination**. #### API Utilisez [l’API](https://docs.stripe.com/api/v2/event-destinations.md) pour créer une nouvelle destination d’événements pour Event Grid. Dans l’exemple ci-dessous, Stripe vous avertit lorsqu’une erreur de validation de [facturation à l’usage](https://docs.stripe.com/billing/subscriptions/usage-based.md) est déclenchée. Si vous avez créé un [formulaire d’inscription Connect](https://docs.stripe.com/connect.md) et que vous souhaitez écouter vos comptes connectés, utilisez le paramètre [events_from](https://docs.stripe.com/api/v2/core/event-destinations/create.md#v2_create_event_destinations-events_from) et définissez sa valeur sur `@accounts`. Pour les destinations d’événement [Organisation](https://docs.stripe.com/get-started/account/orgs.md), utilisez `@organisation_members` pour les événements des comptes de votre organisation, ou `@organisation_members/@accounts` pour les événements des comptes connectés de votre organisation. ## Activer la rubrique partenaire [Le portail Azure] Après avoir configuré une destination d’événement, Stripe crée une [rubrique partenaire](https://learn.microsoft.com/en-us/azure/event-grid/partner-events-overview-for-partners#customers-authorization-to-create-partner-topics) dans l’abonnement et la région que vous avez indiqués lors de la configuration. Vous devez activer la rubrique partenaire pour permettre à Stripe d’envoyer des événements à cette rubrique. Activez la rubrique partenaire dans les 7 jours suivant la création de la destination de l’événement. Si vous ne l’associez pas dans ce délai, Azure supprime automatiquement la rubrique partenaire. Une fois qu’une rubrique partenaire est supprimée, votre destination d’événements Stripe est automatiquement désactivée et vous devez créer une nouvelle destination pour recevoir des événements. Dans [Workbench](https://dashboard.stripe.com/webhooks), cliquez sur **Terminer la configuration dans Azure** pour votre destination d’événement afin d’activer votre sujet partenaire. ### Alternativement, accédez manuellement à votre rubrique partenaire dans le portail Azure 1. Dans la barre de recherche du portail Azure, recherchez et sélectionnez **Rubriques partenaires Event Grid**. 1. Sur la page **Rubriques partenaires Event Grid**, sélectionnez la rubrique partenaire Stripe. Pour les destinations en mode production, le nom de la rubrique partenaire correspond à l’identifiant de votre destination d’événements (qui commence par « ed_ »). Pour les destinations en environnement de test, le nom de la rubrique partenaire correspond à l’identifiant de votre destination d’événements sans le préfixe « test_ ». Vous trouverez l’identifiant de votre destination d’événements dans l’onglet **Webhooks** du **Workbench** de Stripe, en consultant les détails de votre destination Event Grid. 1. Consultez le message d’activation et sélectionnez **Activer** sur la page ou dans la barre de commandes pour pouvoir activer la rubrique partenaire avant la date d’expiration mentionnée sur la page. 1. Confirmez que l’état d’activation est défini sur **Activée**. ## Créer des abonnements aux événements et des gestionnaires d’événements [Portail Azure] Après avoir activé votre rubrique partenaire Stripe, vous devez créer au moins un [abonnement aux événements](https://learn.microsoft.com/en-us/azure/event-grid/subscribe-through-portal) avec un [gestionnaire d’événements](https://learn.microsoft.com/en-us/azure/event-grid/event-handlers) pour recevoir vos événements Stripe. Un abonnement aux événements définit quels événements provenant des rubriques partenaires de Stripe sont acheminées vers des gestionnaires d’événements spécifiques. Sans ces composants, les événements seront envoyés à Event Grid et conservés pendant 24 heures. Cependant, ils ne seront distribués à aucune destination. Vous pouvez répéter ces étapes plusieurs fois pour définir plusieurs abonnements aux événements et plusieurs gestionnaires d’événements : 1. Dans votre abonnement Azure, configurez un service [pris en charge en tant que gestionnaire d’événements dans Event Grid](https://docs.microsoft.com/en-us/azure/event-grid/event-handlers). Ce gestionnaire traite les événements que Stripe envoie à votre rubrique partenaire. Par exemple, vous pouvez utiliser l’exemple [Visionneuse Event Grid](https://learn.microsoft.com/en-us/azure/event-grid/custom-event-quickstart-portal#create-a-message-endpoint), qui déploie une [application web préconfigurée](https://github.com/Azure-Samples/azure-event-grid-viewer) affichant les messages d’événements Stripe reçus de la rubrique partenaire. 1. Dans le portail Azure, saisissez **Rubriques partenaires Event Grid** dans la zone de recherche, puis sélectionnez **Rubriques partenaires Event Grid**. 1. Sur la page **Rubriques partenaires Event Grid**, sélectionnez la rubrique partenaire Stripe dans la liste. Pour les destinations en mode production, le nom de la rubrique partenaire correspond à l’identifiant de votre destination d’événements (qui commence par « ed_ »). Pour les destinations en environnement de test, le nom de la rubrique partenaire correspond à l’identifiant de votre destination d’événements sans le préfixe « test_ ». Vous trouverez l’identifiant de votre destination d’événements dans l’onglet **Webhooks** du **Workbench** de Stripe, en consultant les détails de votre destination Event Grid. 1. Sur la page **Rubriques partenaires Event Grid** de la rubrique partenaire, sélectionnez **+ Abonnement aux événements** dans la barre de commandes. 1. Sur la page **Créer un abonnement aux événements**, procédez comme suit : 1. Saisissez un **nom** pour l’abonnement aux événements. 1. Pour **Filtrer par types d’événements**, sélectionnez les types d’événements que votre abonnement doit recevoir. 1. Pour **Type d’endpoint**, sélectionnez le service Azure que vous avez utilisé comme gestionnaire d’événements. 1. Sélectionnez **Configurer un lien pour l’endpoint**. 1. Sur la page **Sélectionnez Event Hub**, sélectionnez les configurations pour l’endpoint, puis sélectionnez **Confirmer la sélection**. 1. Sur la page **Créer un abonnement aux événements**, sélectionnez **Créer**. Vos événements Stripe ont bien été distribués à votre rubrique partenaire et à ses gestionnaires d’événements correspondants. ## Déclencher des événements de test Pour envoyer des événements de test, déclenchez un type d’événement auquel votre destination d’événement est abonnée en créant manuellement un objet dans le Dashboard Stripe. Découvrez comment déclencher des événements avec [Stripe pour VS Code](https://docs.stripe.com/stripe-vscode.md). #### Déclencher un événement instantané Vous pouvez utiliser la commande suivante dans [Stripe Shell](https://docs.stripe.com/workbench/shell.md) ou [Stripe CLI](https://docs.stripe.com/stripe-cli.md). Cet exemple déclenche un événement `payment_intent.succeeded` : ```bash stripe trigger payment_intent.succeeded Running fixture for: payment_intent Trigger succeeded! Check dashboard for event details. ``` #### Déclencher un événement léger Vous pouvez utiliser la commande suivante dans le [Stripe CLI](https://docs.stripe.com/stripe-cli.md). Cet exemple déclenche l’événement `v1.billing.meter.error_report_triggered` : ```bash stripe trigger v1.billing.meter.error_report_triggered Setting up fixture for: list_billing_meters Running fixture for: list_billing_meters Setting up fixture for: billing_meter Running fixture for: billing_meter Setting up fixture for: list_billing_meters_after_creation Running fixture for: list_billing_meters_after_creation Setting up fixture for: billing_meter_event_session Running fixture for: billing_meter_event_session Setting up fixture for: create_billing_meter_event_stream Running fixture for: create_billing_meter_event_stream Trigger succeeded! Check dashboard for event details. ``` ## Hydratation événementielle légère Les [Événements légers](https://docs.stripe.com/event-destinations.md#thin-events) sont des notifications qui incluent des informations de référence sur la ressource API liée à l’événement. Lorsque vous les envoyez à Azure Event Grid, vous pouvez utiliser ces informations pour récupérer l’événement complet ou l’objet de ressource API (également appelé « hydratation d’événement »). Dans le portail Azure, vous pouvez configurer ce processus en paramétrant des abonnements aux événements à l’aide des [gestionnaires d’événements](https://learn.microsoft.com/azure/event-grid/event-handlers) pris en charge de votre choix. Lorsque vous envoyez des événements légers vers des [endpoints webhook](https://docs.stripe.com/webhooks.md), vous devez récupérer vous-même les données complètes de l’événement ou de la ressource via l’API. Ce processus vous fournit des données à jour en récupérant l’état actuel de la ressource associée à chaque événement. ## Comportements de distribution des événements Cette section vous aide à comprendre les différents comportements à prévoir concernant la manière dont Stripe envoie des événements à Azure Event Grid. ### Retentatives automatiques Stripe tente de livrer des événements à votre destination pendant un maximum de trois jours avec un recul exponentiel en mode production. Le cas échéant, vous pouvez voir quand la prochaine tentative aura lieu dans l’onglet **Événements envoyés** de votre destination d’événement. Les livraisons d’événements créées dans un environnement de test sont relancées trois fois en l’espace de quelques heures. Si votre destination a été désactivée ou supprimée lorsque nous effectuons une nouvelle tentative de remise, nous annulons toute relance ultérieure de cet événement. Toutefois, si vous désactivez puis réactivez la destination de l’événement avant que nous ne puissions effectuer la relance, les tentatives ultérieures seront toujours visibles. ### Retentatives manuelles Vous ne pouvez pas renvoyer manuellement les événements vers Azure Event Grid. ### Ordre des événements Stripe ne garantit pas la remise des événements dans l’ordre dans lequel ils ont été générés. Par exemple, la création d’un abonnement peut générer les événements suivants : - `customer.subscription.created` - `invoice.created` - `invoice.paid` - `charge.created` (si un paiement a lieu) Assurez-vous que la destination de votre événement ne dépend pas de la réception des événements dans un ordre spécifique. Soyez prêt à gérer correctement leur livraison. Vous pouvez également utiliser l’API pour récupérer les éventuels objets manquants. Par exemple, vous pouvez récupérer les objets invoice, charge et subscription avec les informations de `invoice.paid` si vous recevez cet événement en premier. ### Gestion des versions de l’API Lorsque l’événement survient, la version de l’API dans les paramètres de votre compte détermine la version de l’API, et par extension la structure d’un [événement](https://docs.stripe.com/api/events.md), envoyées à votre destination. Par exemple, si votre compte utilise une ancienne version d’API, comme 2015-02-16, et que vous modifiez la version de l’API pour une requête spécifique avec [le contrôle de version](https://docs.stripe.com/api.md#versioning), l’objet [Event](https://docs.stripe.com/api/events.md) généré et envoyé à votre destination est toujours basé sur la version de l’API du 16/02/2015. Vous ne pouvez pas modifier les objets [Event](https://docs.stripe.com/api/events.md) une fois qu’ils ont été créés. Par exemple, si vous mettez à jour un paiement, l’événement de paiement d’origine reste inchangé. Par conséquent, les mises à jour apportées par la suite à la version de l’API de votre compte ne modifient pas de manière rétroactive les objets [Event](https://docs.stripe.com/api/events.md) existants. La récupération d’un ancien [Event](https://docs.stripe.com/api/events.md) par l’appel à `/v1/events` à l’aide d’une version récente de l’API n’a pas non plus de conséquence sur la structure de l’événement reçu. Vous pouvez définir les destinations des événements de test sur votre version d’API par défaut ou sur la version la plus récente de l’API. L’objet [Event](https://docs.stripe.com/api/events.md) envoyé à la destination est structuré en fonction de la version spécifiée pour la destination de l’événement. ## État de la destination d’événements Les destinations Event Grid possèdent plusieurs états qui décrivent leur capacité à recevoir des événements : - **Activée** : Stripe envoie des événements à Event Grid si vous avez activé la rubrique partenaire dans Azure. - **Désactivée** : Stripe n’envoie pas d’événements à Event Grid. Votre destination est dans cet état soit parce que vous l’avez désactivée manuellement ou parce que Stripe l’a désactivée automatiquement suite à l’expiration de l’activation d’une rubrique partenaire. ## Structure des événements Event Grid distribue des événements en utilisant le schéma CloudEvents (`v1.0`) qui est une spécification ouverte pour la normalisation de l’échange de données d’événements. Lorsque vous recevez des événements Stripe via Event Grid, l’objet JSON des événements Stripe d’origine est encapsulé dans la propriété `data` de l’enveloppe CloudEvents. Voici un exemple d’événement `v1.billing.meter.error_report_triggered` distribué par Event Grid : ```json { "specversion": "1.0", "type": "v1.billing.meter.error_report_triggered", "source": "/providers/stripe/ed_test_61StH5LQO42M712JD16Sr8c00mSQTEEmwCfiQq4wqQc4", "id": "9aeb0fdf-c01e-0131-0922-9eb54906e209", "time": "2025-07-11T14:30:00Z", "subject": null, "dataContentType": "application/cloudevents+json", "data": { { "id": "evt_test_65R9Ijk8dKEYZcXeRWn16R9A7j1FSQ3w3TGDPLLGSM4CW0", "object": "v2.core.event", "type": "v1.billing.meter.error_report_triggered", "livemode": false, "created": "2024-09-17T06:20:52.246Z", "related_object": { "id": "mtr_test_61R9IeP0SgKbYROOx41PEAQhH0qO23oW", "type": "billing.meter", "url": "/v1/billing/meters/mtr_test_61R9IeP0SgKbYROOx41PEAQhH0qO23oW" } } } } ``` ## Prise en charge des types d’événements pour lesquels Stripe attend une réponse Stripe envoie la plupart des types d’événements de manière asynchrone ; cependant, pour certains types d’événements, Stripe attend une réponse. La présence ou l’absence d’une réponse de la part de la destination d’événements influence directement les actions de Stripe concernant ces types d’événements spécifiques. Les destinations Event Grid offrent une prise en charge limitée aux types d’événements nécessitant une réponse : - Vous ne pouvez pas vous abonner au type d’événement `issuing_authorization.request` pour les destinations Event Grid. Configurez plutôt un [endpoint webhook](https://docs.stripe.com/webhooks.md) pour vous abonner à ce type d’événement. Utilisez le type `issuing_authorization.request` pour autoriser les demandes d’achat en temps réel. Ceci nécessite que votre destination approuve ou refuse les demandes en répondant à l’événement. Event Grid traite la réponse à Stripe avant de la transmettre à vos clients. Par conséquent, ce type de destination ne peut pas utiliser ce type d’événement pour autoriser des paiements. - Vous pouvez vous abonner à l’événement `checkout_sessions.completed` lorsque vous utilisez Event Grid. Cependant, ceci [ne gère pas le comportement de redirection](https://docs.stripe.com/checkout/fulfillment.md#redirect-hosted-checkout) lorsque vous intégrez [Checkout](https://docs.stripe.com/payments/checkout.md) directement sur votre site web ou lorsque vous redirigez les clients vers une page de paiement hébergée par Stripe. L’envoi d’un événement `checkout_sessions.completed` à Event Grid n’aura aucune incidence sur le comportement de redirection. Pour modifier le comportement de redirection de la page de paiement, traitez ce type d’événement avec un [endpoint webhook](https://docs.stripe.com/webhooks.md). ## See also - [Liste des types d’événements légers](https://docs.stripe.com/api/v2/core/events/event-types.md) - [Liste des types d’événements instantanés](https://docs.stripe.com/api/events/.md) - [Aperçu des destinations d’événements](https://docs.stripe.com/event-destinations.md) - [Envoyer des événements vers des endpoints de webhook](https://docs.stripe.com/webhooks.md)