Nutzerdefinierte Ereignisse zu Stripe-Webhooks hinzufügen
Erweitern Sie die Liste der unterstützten Webhook-Ereignisse im Stripe-Modul für Adobe Commerce.
Stripe-Webhooks ist ein Tool zum Auslösen von Aktionen basierend auf Ereignissen, die in Ihrem Stripe Konto stattfinden. Dieser Leitfaden beschreibt, wie Sie das Stripe-Modul erweitern, um ein nutzerdefiniertes Ereignis zur Liste der aktivierten Ereignisse hinzuzufügen.
Neues Modul erstellen
Erstellen Sie zunächst ein neues Modul mit der folgenden Verzeichnisstruktur. Ersetzen Sie Vendor
durch den von Ihnen bevorzugten Anbieternamen.
app/code/Vendor/StripeCustomizations/ ├── etc/ │ ├── module.xml │ └── di.xml ├── Plugin/ │ └── Webhooks/ │ └── EnabledEventsPlugin.php ├── registration.php
Modul registrieren 
Registrieren Sie Ihr Modul in der Datei registration.
bei Magento.
<?php \Magento\Framework\Component\ComponentRegistrar::register( \Magento\Framework\Component\ComponentRegistrar::MODULE, 'Vendor_StripeCustomizations', __DIR__ );
Modulkonfiguration definieren 
Definieren Sie in etc/module.
das Modul und geben Sie an, dass es vom Stripe-Modul abhängt.
<?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>
Abhängigkeitsinjektion konfigurieren 
Definieren Sie in etc/di.
ein Plugin für die Klasse 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>
Plugin erstellen 
Definieren Sie in Plugin/Webhooks/EnabledEventsPlugin.
ein after
-Plugin für die getEvents
-Methode.
<?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; } }
Hier können Sie Ihre nutzerdefinierten Ereignisse (custom.
und another.
) zur bestehenden Ereignisliste hinzufügen.
Eine vollständige Liste der unterstützten Ereignistypen finden Sie in der Dokumentation zu Ereignistypen.
Modul aktivieren 
Führen Sie die folgenden Befehle aus, um Ihr Modul zu aktivieren und bereitzustellen:
php bin/magento module:enable Vendor_StripeCustomizations php bin/magento setup:upgrade php bin/magento cache:clean php bin/magento cache:flush
Änderungen überprüfen 
Führen Sie den folgenden Befehl in der CLI aus, um Webhooks neu zu konfigurieren:
bin/magento stripe:webhooks:configure
Navigieren Sie zu Ihrem Stripe-Dashboard und überprüfen Sie die neue Konfiguration der Webhook-Endpoints manuell. Wenn Sie den Mauszeiger über die Registerkarte Überwachen von xx Ereignissen bewegen, wird das neue Webhook-Ereignis in der Liste angezeigt.