Ajouter des événements personnalisés aux webhooks Stripe
Étendez la liste des événements de webhook pris en charge dans le module Stripe pour Adobe Commerce.
Stripe Webhooks est un outil qui permet de déclencher des actions en fonction d’événements survenus dans votre compte Stripe. Ce guide explique comment étendre le module Stripe pour ajouter un événement personnalisé à la liste des événements activés.
Créer un nouveau module
Tout d’abord, créez un nouveau module avec la structure de répertoire suivante. Remplacez Vendor
par le nom de fournisseur de votre choix.
app/code/Vendor/StripeCustomizations/ ├── etc/ │ ├── module.xml │ └── di.xml ├── Plugin/ │ └── Webhooks/ │ └── EnabledEventsPlugin.php ├── registration.php
Enregistrez votre module 
Dans registration.
, enregistrez votre module auprès de Magento.
<?php \Magento\Framework\Component\ComponentRegistrar::register( \Magento\Framework\Component\ComponentRegistrar::MODULE, 'Vendor_StripeCustomizations', __DIR__ );
Définissez la configuration de votre module 
Dans etc/module.
, définissez le module et précisez qu’il dépend du module Stripe.
<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd"> <module name="Vendor_StripeCustomizations" setup_version="1.0.0"> <sequence> <module name="StripeIntegration_Payments"/> </sequence> </module> </config>
Configurez l’injection de dépendances 
Dans etc/di.
, définissez un plugin pour la classe EnabledEvents
.
<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> <type name="StripeIntegration\Payments\Model\Webhooks\EnabledEvents"> <plugin name="vendor_stripecustomizations_webhooks_enabledevents_plugin" type="Vendor\StripeCustomizations\Plugin\Webhooks\EnabledEventsPlugin" sortOrder="10" disabled="false" /> </type> </config>
Créez le plugin 
Dans Plugin/Webhooks/EnabledEventsPlugin.
, définissez un plugin after
pour la méthode getEvents
.
<?php namespace Vendor\StripeCustomizations\Plugin\Webhooks; use StripeIntegration\Payments\Model\Webhooks\EnabledEvents; class EnabledEventsPlugin { /** * After plugin for getEvents method. * * @param EnabledEvents $subject * @param array $result * @return array */ public function afterGetEvents(EnabledEvents $subject, array $result) { // Add custom events to the list $result[] = 'custom.event.example'; $result[] = 'another.custom.event'; return $result; } }
Ici, vous ajoutez vos événements personnalisés (custom.
et another.
) à la liste d’événements existante.
Pour obtenir la liste complète des types d’événements pris en charge, reportez-vous à la documentation Types d’événements.
Activez votre module 
Exécutez les commandes suivantes pour activer et déployer votre module :
php bin/magento module:enable Vendor_StripeCustomizations php bin/magento setup:upgrade php bin/magento cache:clean php bin/magento cache:flush
Vérifiez les modifications 
Exécutez la commande suivante à partir de la CLI pour reconfigurer les webhooks :
bin/magento stripe:webhooks:configure
Accédez à votre Dashboard Stripe et inspectez manuellement la nouvelle configuration d’endpoint de webhook. Lorsque vous passez la souris sur l’onglet Écoute des événements xx, vous pouvez voir le nouvel événement de webhook dans la liste.