Änderungsprotokoll — WebLa Subscription Plugin
Alle wichtigen Änderungen am WebLa Subscription Plugin für Endbenutzer.
1.6.0¶
Veröffentlicht am 2026-06-12
Neue Funktionen
- Benachrichtigungs-E-Mails für Kündigung und Reaktivierung von Abonnements. Kunden werden jetzt per E-Mail informiert, wenn ein Abonnement gekündigt oder reaktiviert wird (über das Backend oder das Kundenkonto). Die benötigten Flow-Builder-Flows und E-Mail-Vorlagen werden automatisch angelegt.
- Weitere Benachrichtigungs-Trigger stehen im Flow Builder zur Verfügung: Verlängerungserinnerung, Verlängert, Preis geändert, Zahlung fehlgeschlagen, Produkt entfernt und Artikel nicht vorrätig. Die situationsbezogenen Trigger (Verlängert, Produkt entfernt, Artikel nicht vorrätig) werden als inaktive Flows angelegt, die Sie bei Bedarf aktivieren können.
- Lesbare Trigger-Namen: Die Abo-Trigger werden im Flow Builder jetzt mit deutschen und englischen Bezeichnungen statt technischer Schlüssel angezeigt.
Fehlerbehebungen
- Benachrichtigungs-E-Mails wurden nie versendet: Die Events waren nicht als Flow-Builder-Trigger registriert, sodass jeder Flow „Unbekannter Trigger" anzeigte und deaktiviert wurde. Die Trigger werden nun korrekt registriert und die Flows funktionieren.
- Produktdetailseite: doppelte Einheiten-/Inhaltszeile für Produkte mit Verkaufseinheit ohne Grundpreis unter Shopware 6.6 entfernt.
1.5.1¶
Veröffentlicht am 2026-06-10
Fehlerbehebungen
- Doppelter Grundpreis: Die Grundpreiszeile (z. B. „Inhalt: 0.5 kg (40,00 € / 1 kg)") erscheint unter dem Produktpreis auf der Detailseite nicht mehr doppelt, wenn die dynamische Abo-Preisanzeige aktiv ist. Unter Shopware 6.7 wurde die Preiseinheit in eine eigene Vorlage verschoben, wodurch das Plugin die Zeile ein zweites Mal ausgegeben hat.
1.5.0¶
Veröffentlicht am 2026-06-10
Neue Funktionen
- Dynamischer Hauptpreis: Der Produktpreis im Buy-Widget wechselt jetzt live zwischen dem regulären Preis und dem rabattierten Abo-Preis, wenn der Kunde zwischen den Kacheln „Einmalkauf" und „Abonnement" wechselt. Die neue Einstellung
dynamicPriceDisplayEnabledermöglicht es, dieses Verhalten bei Bedarf zu deaktivieren. - Konfigurierbarer Standard-Kauftyp: Die neue Einstellung
defaultPurchaseTypelegt fest, welche Kachel beim Laden der Produktdetailseite vorausgewählt ist — Abonnement oder Einmalkauf. Produkte, die als „Nur als Abonnement" markiert sind, werden unabhängig von dieser Einstellung immer mit der Abo-Kachel vorausgewählt. - Zahlungsart-Lebenszyklus: Die abo-spezifischen Zahlungsarten des Plugins werden automatisch deaktiviert, wenn das Plugin im Shopware-Admin deaktiviert wird, und beim Aktivieren des Plugins wieder aktiviert. So erscheinen die Methoden nicht im Checkout, solange das Plugin nicht aktiv ist.
Fehlerbehebungen
- Kachelauswahl per Klick: Ein Klick auf eine beliebige Stelle der Kauftyp-Kachel wählt diese jetzt korrekt aus. Zuvor wurde die Auswahl nur registriert, wenn direkt auf den Radiobutton geklickt wurde.
- Nur-Abonnement-Kachelstatus: Produkte, die als „Nur als Abonnement" konfiguriert sind, zeigen die Abo-Kachel beim Seitenaufruf korrekt als ausgewählt an. Der aktive Zustand wurde in der vorherigen Version fälschlicherweise entfernt.
- Rabatt-Fallback im Warenkorb: Abo-Bestellungen, die den Rabattpfad „Alle Artikel mit gleicher Option" verwenden, greifen nun korrekt auf den globalen Rabattprozentsatz zurück, wenn eine einzelne Option keinen eigenen Rabatt konfiguriert hat. Zuvor erhielten diese Bestellungen stattdessen 0 % Rabatt.
1.3.5¶
Veröffentlicht am 2026-05-13
Neue Funktionen
- Abonnement-Vererbung für Varianten: Eine Produktvariante übernimmt die Abonnement-Optionen des Hauptprodukts jetzt automatisch, solange sie keine eigenen Optionen besitzt. Die Karte in der Produktdetailseite im Admin zeigt den Vererbungszustand klar an und bietet eine Aktion „Für diese Variante überschreiben", die die Optionen des Hauptprodukts in eigene, editierbare Zeilen kopiert, sowie eine Aktion „Auf Hauptprodukt zurücksetzen", die die Überschreibung wieder verwirft.
Fehlerbehebungen
- Variantenanzeige in der Storefront: Der Abonnement-Auswähler erscheint nun auch auf der Produktdetailseite einer Variante, wenn das Hauptprodukt Abonnement-Optionen konfiguriert hat. Bisher wurde ausschließlich nach den Optionen der Variante gesucht und auf Variantenseiten nichts angezeigt.
- Warenkorb-Validierung für Varianten: Das Hinzufügen einer Varianten-Subscription in den Warenkorb verwirft die Subscription-Information nicht mehr, wenn die zugehörige Option dem Hauptprodukt gehört. Der Warenkorb-Validator akzeptiert nun sowohl die eigene Option der Variante als auch eine vererbte Option vom Hauptprodukt.
- Rabattsemantik pro Option: Ein Abonnement, dessen Rabatt (%) auf
0steht oder leer ist, wendet jetzt keinen Rabatt mehr in Storefront, Warenkorb und Verlängerungen an. Die globale Plugin-KonfigurationaboDiscountPercentgreift weiterhin für warenkorbweite Abonnements, füllt aber keine leeren Werte pro Option mehr auf. - Buy-Widget-Layout: Mengeneingabe und „In den Warenkorb"-Button bleiben jetzt nebeneinander in derselben Zeile (Shopware-Standardlayout), auch wenn der Abonnement-Auswähler angezeigt wird. Der Auswähler liegt in einer eigenen Zeile darüber.
Verbesserungen
- Einmalige Migration
Migration1742000000BackfillNullDiscountPercentsetzt vorhandeneNULL-Werte im Rabatt-Feld pro Option auf0, sodass Admin-Anzeige und Storefront-Verhalten ohne manuelles Nacharbeiten übereinstimmen.
1.3.4¶
Veröffentlicht am 2026-05-13
Fehlerbehebungen
- DAL-Entitätsfelder: Die Entity-Klassen (
SubscriptionEntity,SubscriptionItemEntity,SubscriptionOrderEntity,FreeItemEntity) wurden an die Spaltennamen ihrer DAL-Definitionen angeglichen. Das Framework meldet die fehlenden Reference-Version-Felder nicht mehr. - Mollie-Webhook-Antwort: Der Mollie-Webhook-Controller liefert jetzt einen nicht-leeren
200 OK-Body. Mollie wertet ausschließlich den Statuscode aus, das Verhalten ändert sich nicht.
Verbesserungen
- Überschriftenhierarchie im Storefront: Bare
<h1>–<h6>-Tags in den Vorlagen des Abonnement-Portals wurden durch<span class="h*">ersetzt, damit das Plugin keine eigene Überschriftenhierarchie über das Shop-Theme hinzufügt. - Barrierefreie Links: Fehlende
title-Attribute an Anker-Tags im Abonnement-Portal wurden für Hilfstechnologien ergänzt.
1.3.3¶
Veröffentlicht am 2026-05-13
Fehlerbehebungen
- Zahlartenfilter im Warenkorb (Shopware 6.6): Die Zahlartenauswahl auf der Warenkorbseite blendet jetzt Abonnement-Zahlarten aus, wenn kein Abonnement im Warenkorb liegt — und Standard-Zahlarten, wenn ein Abonnement im Warenkorb ist. Bisher griff der Filter nur auf der Bestellabschluss- und Bestelländerungs-Seite, sodass die Warenkorb-Auswahl ungefiltert blieb.
- Korrekte Erkennung warenkorbweiter Abonnements: Bei aktiviertem warenkorbweitem Abonnement wird der Warenkorb nun korrekt als Abonnement-Bestellung erkannt. Die vorherige Erkennung nutzte
_subscriptionOptionId, das bei warenkorbweiten Abosnullist — Abonnement-Zahlarten wurden dadurch fälschlich ausgeblendet. - Filterung im Gastwarenkorb: Die abonnementabhängige Zahlartenfilterung greift jetzt auch im Gastwarenkorb. Der SEPA-Mandatsfilter setzt weiterhin einen eingeloggten Kunden voraus.
Verbesserungen
- Kompatibilität auf der Produktdetailseite: Der Abonnement-Intervallauswähler auf der Produktdetailseite wird nun in einen engeren, seltener von Drittanbietern überschriebenen Twig-Block (
buy_widget_buy_product_buy_info) eingehängt. Dadurch sinkt das Risiko, dass andere Plugins oder Themes die Buy-Widget-Blöcke ohneparent()ersetzen und damit unseren Auswähler entfernen. Zusätzlich wird die Template-Priorität des Plugins erhöht, sodass unsere Erweiterungen Erweiterungen mit Standardpriorität ummanteln. Die Position des Auswählers verschiebt sich zwischen Mengenfeld und Kauf-Button.
1.3.2¶
Veröffentlicht am 2026-04-24
Fehlerbehebungen
- PHP 8.1 Deprecation in gebündelter Mollie-Bibliothek: Signatur von
CreatePaymentRefundRequest::__construct()korrigiert — der optionale Parameter$descriptionstand vor dem erforderlichen$amount, was unter PHP 8.1+ eine Deprecation-Warnung auslöste und die automatisierte Shopware-Store-Prüfung blockierte.
1.3.1¶
Veröffentlicht am 2026-04-24
Fehlerbehebungen
- Mollie-PayPal-Label im Admin: Fehlende Übersetzung für
webla_subscription_mollie_paypalin den englischen und deutschen Admin-Locales ergänzt. Abonnement-Liste und Detailansicht zeigen nun „PayPal (Mollie)" anstelle des rohen Snippet-Keys.
1.3.0¶
Veröffentlicht am 2026-04-21
Neue Funktionen
- Warenkorb-Abonnement: Neuer Intervall-Auswähler im gesamten Checkout (Warenkorbseite, Offcanvas-Warenkorb, Adress-/Registrierungsschritt, Bestellabschluss), der den kompletten Warenkorb in ein Abonnement umwandelt. Wenn aktiviert, werden alle Produkt-Line-Items — auch ohne produktspezifische Abo-Optionen — auf das gewählte Intervall gesetzt. Die Auswahl wird als Cart-Extension gespeichert und übersteht Neuberechnungen. Der Offcanvas aktualisiert sich per AJAX ohne Seitenreload, analog zur Gutschein-Eingabe im Core.
- Editor für Warenkorb-Intervalle: Neue Plugin-Konfiguration unter Abonnement-Intervalle mit eigenem Admin-Editor für die Liste der verfügbaren Warenkorb-Intervalle. Jeder Eintrag enthält Wochen, Bezeichnung und Rabatt-Prozentsatz. Kompatibel mit Shopware 6.6 (
sw-*Komponenten) und 6.7 (mt-*Komponenten) via Laufzeiterkennung.
Verbesserungen
- Zahlungsarten-Karte: Felder neu sortiert — abo-fähige Mollie-Methoden (Karte, SEPA, PayPal) stehen vor Nicht-Wiederholungsmethoden (Rechnung, Vorkasse).
- Versandart für Verlängerungen: Von Zahlungsarten nach Verlängerungsverhalten verschoben, wo sie semantisch hingehört. Hilfetext präzisiert das Fallback-Verhalten auf die Erstbestellung.
1.2.0¶
Veröffentlicht am 2026-04-13
Neue Funktionen
- Mollie PayPal als Abonnement-Zahlungsart:
webla_subscription_mollie_paypalals wiederkehrungsfähige Mollie-Zahlungsart hinzugefügt. Abonnements können nun über eine PayPal-Einzugsermächtigung via Mollie-Mandat-API abgebucht werden. Standardmäßig inaktiv registriert — erfordert aktivierte PayPal Reference Transactions in der Mollie/PayPal-Verbindung des Händlers vor Aktivierung. - Versandart aus Erstbestellung bei Verlängerung: Verlängerungs-Warenkörbe übernehmen nun die Versandart aus der ursprünglichen Abo-Bestellung, sofern diese noch aktiv ist. Andernfalls wird auf die konfigurierte
renewalShippingMethodIdzurückgegriffen. Kunden behalten damit ihre ursprüngliche Versandoption bei Verlängerungen.
1.1.5¶
Veröffentlicht am 2026-03-31
Fehlerbehebungen
- Eigenständiger Mollie-Betrieb: Mollie API 3.9.0 unter eigenem Namespace
WebLa\Subscriptions\Vendor\Mollie\Api\gebündelt, sodass das Plugin vollständig ohne das offizielle Mollie-Shopware-Plugin funktioniert. Bei gleichzeitiger Installation nutzt jedes Plugin seine eigene isolierte Kopie — keine Konflikte. Makefile-Target (make mollie-vendor) zum Aktualisieren der Kopie hinzugefügt.
1.1.4¶
Veröffentlicht am 2026-03-31
Fehlerbehebungen
- Mollie-Abhängigkeitskonflikt:
mollie/mollie-api-phpkomplett aus Composer-Require entfernt. Das offizielle Mollie-Shopware-Plugin bündelt eine eigene Kopie invendor_manual/mit anderen Konstantennamen — die Abhängigkeit in unserem Require verursachte Versionskonflikte bei der Installation. Mollie-API-Klassen werden nun zur Laufzeit vom Mollie-Plugin bereitgestellt. - Mollie als optionale Abhängigkeit:
MollieOptionalCompilerPasshinzugefügt, der Mollie-bezogene Services entfernt wenn die Mollie-API-Bibliothek nicht vorhanden ist. Rechnungs- und Vorkasse-Abonnements funktionieren ohne das Mollie-Plugin. - Sequenztyp-Konstanten:
SequenceType::FIRST/RECURRING-Konstanten durch String-Literale'first'/'recurring'ersetzt für Kompatibilität mit der gebündelten Bibliotheksversion des Mollie-Plugins.
1.1.3¶
Veröffentlicht am 2026-03-31
Fehlerbehebungen
- Payment-Handler Kompilierfehler auf Shopware < 6.6.5: Alle Payment-Handler mit bedingten
class_exists()-Basisklassen und einem gemeinsamen Logic-Trait umstrukturiert, sodass neue Methodensignaturen auf 6.6.5+/6.7 und Legacy-Interface-Signaturen auf 6.6.0–6.6.4 ohne PHP-Kompilierfehler verwendet werden.
1.1.2¶
Veröffentlicht am 2026-03-31
Fehlerbehebungen
- Shopware 6.6.0–6.6.4 Kompatibilität: Payment-Handler nutzen nun
class_exists()-basierte Basisklassen (wie das offizielle Mollie-Plugin) stattAbstractPaymentHandlerdirekt zu erweitern, das erst ab 6.6.5 existiert. - Doppelte Payment-Handler-Tags: Services registrieren sowohl
shopware.payment.method(6.6.5+/6.7) als auch Legacy-Tagsshopware.payment.method.async/sync(6.6.0–6.6.4).
1.1.1¶
Veröffentlicht am 2026-03-31
Fehlerbehebungen
- Mollie API Versionskonflikt:
mollie/mollie-api-php-Abhängigkeit von^3.9auf^2.0 || ^3.0erweitert, um Konflikte mit dem offiziellen Mollie-Shopware-Plugin zu vermeiden (Undefined constant PaymentMethod::BIZUM). - Deinstallation fehlgeschlagen: Entfernung von Custom Fields nutzt nun kaskadierende Löschung statt direkter SQL-Abfrage auf nicht existierende Spalte
custom_field_set_idin Shopware 6.7.
1.1.0¶
Veröffentlicht am 2026-03-31
Neue Funktionen
- Optionsspezifischer Rabatt: Produkt-Abonnementoptionen können nun einen eigenen Rabattprozentsatz haben, der den globalen Standard überschreibt. NULL = global. Anzeige im Admin-Produktkarten und Storefront-Selektor.
- Kundeneinstellungen-Lebenszyklus: Kundenabonnement-Einstellungen werden automatisch beim ersten Abonnement erstellt. SEPA-Sperre wird automatisch bei Erreichen der maximalen Fehlversuche gesetzt und beim Admin-Entsperren aufgehoben.
- Kundeneinstellungen Admin-UI: Admin-Kundendetailseite zeigt nun Schalter für „Intervall-Änderung erlaubt" und „SEPA gesperrt" pro Kunde.
- Kundeneinstellungen API: Neue GET/PATCH-Endpunkte zur Verwaltung kundenspezifischer Abonnementeinstellungen.
- Webhook-URL-Platzhalter: Plugin-Konfiguration zeigt die erwartete Webhook-URL-Struktur als Platzhaltertext.
Fehlerbehebungen
- Kundendetail-Karte: Template-Block-Name korrigiert, damit die Abonnementkarte tatsächlich auf der Kundendetailseite erscheint.
- Kundenkarte Zahlungsart: Zahlungsart-Spalte zeigt nun übersetzte Namen statt technischer Bezeichnungen.
- Artikel-hinzufügen-Route: Fehlende
seo => false-Option bei der Storefront-Route behoben, die 404-Fehler verursachte. - Storefront-Quellcode-Tracking: Fehlerhafte
.gitignore-Regel entfernt, die das Storefront-Controller-Verzeichnis ausschloss.
1.0.1¶
Veröffentlicht am 2026-03-31
Fehlerbehebungen
- Shopware 6.7 Payment Handler: Einheitliches
shopware.payment.methodService-Tag statt veraltetershopware.payment.method.async/shopware.payment.method.syncTags, behebtCHECKOUT__UNKNOWN_PAYMENT_METHOD-Fehler beim Checkout. - Shopware 6.7 Admin-Eingabefelder:
v-modeldurch:value/@update:valuebei veralteten Komponenten ersetzt, damit Zahlungsart, Intervall, Notizen und Kündigungsgrund korrekt angezeigt werden. - Admin-Detailansicht Header: Nur relevante Aktions-Buttons für den aktuellen Abonnement-Status anzeigen statt alle Buttons deaktiviert darzustellen.
- Admin-Detailansicht Header Abstand: Abstand zwischen Smart-Bar-Aktions-Buttons hinzugefügt.
- Admin-Artikeltabelle:
sw-number-fielddurch kompaktes natives Eingabefeld für Mengenspalte ersetzt, um vertikale Dehnung zu beheben. - Admin-Artikeltabelle Spaltenbreiten: Explizite Breiten für Mengen- und Einzelpreisspalte gesetzt.
- Admin-Dashboard Statusüberlauf: Status-Raster von fester 7-Spalten-Darstellung auf flexibles Wrapping umgestellt.
- Produktkarte Leerzustand: Leerzustand mit gestricheltem Rahmen gestaltet, Speichern-Button ausgeblendet wenn keine neuen Optionen vorhanden.
- Produktkarte Toggle-Feedback: Erfolgsmeldung beim Umschalten des „Nur als Abonnement"-Schalters.
1.0.0¶
Veröffentlicht am 2026-03-30
Neue Funktionen
- Abonnement-System: Vollständiges Abonnement-System für Shopware 6 mit automatischen Verlängerungen.
- Kundenportal: Self-Service-Bereich im Kundenkonto zum Verwalten von Abonnements (pausieren, kündigen, Intervall ändern, Artikel verwalten).
- Admin-Dashboard: Übersicht mit KPIs — aktive Abonnenten, monatlicher Umsatz, anstehende Verlängerungen, Kündigungsrate.
- Admin-Verwaltung: Liste aller Abonnements mit Filtern, Detailansicht mit Bearbeitungsmöglichkeiten.
- Mollie-Integration: Automatische wiederkehrende Zahlungen über Kreditkarte und SEPA-Lastschrift.
- Offline-Zahlungsarten: Rechnung und Vorkasse als alternative Zahlungsarten.
- Flexible Intervalle: Konfigurierbare Lieferintervalle von 1 bis 8 Wochen.
- Abonnement-Rabatte: Prozentualer Basisrabatt plus Treue-Staffeln.
- Gratisartikel: Kostenlose Produkte bei Verlängerungen.
- Produktkonfiguration: Abonnement-Optionen direkt am Produkt, inklusive „Nur als Abonnement"-Modus.
- E-Mail-Benachrichtigungen: Verlängerungserinnerung, Kündigung, SEPA-Fehler, Preisänderung.
- Lieferungen zusammenlegen: Mehrere Abonnements auf ein gemeinsames Datum synchronisieren.
- Zahlungsstatus-Abfrage: Automatische Statusaktualisierung über Mollie-Polling.
- Vorkasse-Überwachung: Automatische Erkennung ausstehender Vorkasse-Zahlungen.
- Änderungsprotokoll: Lückenlose Nachverfolgung aller Änderungen an Abonnements.
- Warenkorb-Integration: Abonnement-Hinweise und Zahlungsart-Filterung im Checkout.
Versionsübersicht¶
| Version | Veröffentlichung | Highlights |
|---|---|---|
| 1.3.2 | 2026-04-24 | PHP-8.1-Deprecation in gebündelter Mollie-Bibliothek |
| 1.3.1 | 2026-04-24 | Store-Release, PayPal-Admin-Label-Korrektur |
| 1.3.0 | 2026-04-21 | Warenkorb-Abonnement-Selektor |
| 1.2.0 | 2026-04-13 | Mollie PayPal + Versandart aus Erstbestellung |
| 1.1.5 | 2026-03-31 | Eigenständiger Mollie-Betrieb via Namespace-Scoping |
| 1.1.4 | 2026-03-31 | Mollie optionale Abhängigkeit, keine Versionskonflikte |
| 1.1.3 | 2026-03-31 | Payment-Handler Kompilierfehler auf SW < 6.6.5 behoben |
| 1.1.2 | 2026-03-31 | Shopware 6.6.0+ Payment-Handler-Kompatibilität |
| 1.1.1 | 2026-03-31 | Mollie-Versionskonflikt und Deinstallation behoben |
| 1.1.0 | 2026-03-31 | Optionsrabatte, Kundeneinstellungen, Admin-Korrekturen |
| 1.0.1 | 2026-03-31 | Shopware 6.7 Kompatibilitätskorrekturen |
| 1.0.0 | 2026-03-30 | Erstveröffentlichung mit vollem Funktionsumfang |
Kompatibilität¶
| Plugin-Version | Shopware-Version | PHP-Version |
|---|---|---|
| 1.3.2 | 6.6.0 – 6.7.x | 8.1+ |
| 1.3.1 | 6.6.0 – 6.7.x | 8.1+ |
| 1.3.0 | 6.6.0 – 6.7.x | 8.1+ |
| 1.2.0 | 6.6.0 – 6.7.x | 8.1+ |
| 1.1.5 | 6.6.0 – 6.7.x | 8.1+ |
| 1.1.4 | 6.6.0 – 6.7.x | 8.1+ |
| 1.1.3 | 6.6.0 – 6.7.x | 8.1+ |
| 1.1.2 | 6.6.0 – 6.7.x | 8.1+ |
| 1.1.1 | 6.6.0 – 6.7.x | 8.1+ |
| 1.1.0 | 6.6.0 – 6.7.x | 8.1+ |
| 1.0.1 | 6.6.0 – 6.7.x | 8.1+ |
| 1.0.0 | 6.6.0 – 6.7.x | 8.1+ |