Die Entwicklung dieser Version hat 4.250 Euro gekostet. Die Kosten der ersten Version betrugen 38.000 Euro. Die kumulierten Kosten seit der ersten Version belaufen sich auf 46.610 Euro, aber die Kosten für dich sind nur die Lizenz ab 80€.
Neue Version 3.0.x des Plugins Erweiterte Abonnements für WooCommerce. Es ist eine Hauptversion: Es führt die Kaufoptionen auf der Produktseite ein („Einmaliger Kauf“ oder „Abonnieren und Sparen“), den optionalen Rabatt für Abonnieren und Sparen mit eigenen Regeln, die vollständige Übersetzung ins Deutsche und die Möglichkeit für den Kunden, die Menge und die Frequenz seines Abonnements über Mein Konto zu ändern. Außerdem bringt es eine vollständige Sicherheitsüberprüfung und eine lange Liste von Korrekturen bei Erneuerungen, Planänderungen, Rabatten und Zahlungs-Gateways.
Versionen des Zweigs
3.0.0
Wichtig:
- Empfohlene Aktualisierung für alle Shops: enthält Sicherheits- und Abrechnungsfehlerbehebungen in den enthaltenen Gateways, in Mein Konto und bei Erneuerungen.
- Der Auswahlbutton „Einmaliger Kauf / Abonnement“, der unter dem Preis angezeigt wurde, verschwindet und wird durch das neue Widget für Kaufoptionen ersetzt. Wenn dein Theme oder ein Code-Snippet davon abhing, überprüfe es vor der Aktualisierung.
- Das Modul für das benutzerdefinierte Startdatum (Custom Start Date) wird in der 3.0.0 deaktiviert und sein Einstellungsbereich wird nicht angezeigt, auch nicht in den Shops, die es aktiviert hatten: es zeigte das gewählte Datum an, aber das Abonnement begann und wurde sofort abgerechnet. Es wird in einer späteren Version zurückkehren.
- Die Erinnerungs-E-Mail für die Erneuerung ist standardmäßig deaktiviert. Wenn du sie als aktiviert gespeichert hattest, wird sie beim Aktualisieren deaktiviert, damit deine Kunden keine unerwarteten E-Mails erhalten; du kannst sie jederzeit wieder aktivieren.
- Beim Aktualisieren werden Abonnements, die auf „Storniert“ stehen, zum nächsten Zahlungsdatum storniert oder innerhalb der nächsten zwölf Stunden, wenn dieses Datum bereits vergangen ist. Du erhältst dann ihre Stornierungs-E-Mails.
- Beim Aktualisieren werden aktive Abonnements mit einem Zahlungsdatum in der Vergangenheit und ohne geplante Zahlungen zum nächsten Datum ihres Zyklus abgerechnet. Der überfällige Zeitraum wird nicht abgerechnet und es bleibt eine Notiz im Abonnement.
Neu:
- Kaufoptionen auf der Produktseite: „Einmaliger Kauf“ oder „Abonnieren und Sparen“, als eine native und tastaturbedienbare Gruppe von Optionen, mit der Ersparnis, die in einem Label hervorgehoben wird. Funktioniert bei einfachen und variablen Produkten (nach Variation) und in klassischen und Block-Themes. Die voreingestellte Option wird in den Einstellungen ausgewählt.
- Abonnieren und Sparen (standardmäßig deaktiviert; es ändert sich nichts, bis du es aktivierst): Der Preis des Abonnements ist der normale Preis des Produkts minus ein Prozentsatz (von 1 % bis 50 %), der von einer Produkteinstellung oder von der Variation, von der ersten passenden Regel oder von der globalen Einstellung stammen kann. Du kannst auch die erste Bestellung abziehen und die Anzahl der Bestellungen mit Rabatt begrenzen. Alles wird beim Anmelden im Abonnement gespeichert, sodass spätere Änderungen der Einstellungen niemals den Preis ändern.
- Neuer Bildschirm WooCommerce › Abonnieren & Sparen mit Regeln, die nach Bedingungen geordnet sind (Preis über oder unter einem Betrag, Kategorie, Tag oder bestimmten Produkten). Die erste passende Regel gewinnt. Die Regeln können nach oben oder unten verschoben, per Drag & Drop neu angeordnet und in zwei Schritten gelöscht werden.
- Der Kunde kann die Lieferfrequenz innerhalb der von der Shop erlaubten Zeiträume und Grenzen wählen, es sei denn, das Produkt hat sie blockiert.
- Im klassischen Warenkorb kann jede Zeile, die dies zulässt, zwischen einmaligem Kauf und Abonnement mit ihrer Frequenz gewechselt werden. Die Gesamtsummen des Warenkorbs und der Zahlung (klassisch und Block) zeigen eine Zeile mit der Ersparnis von Abonnieren und Sparen an.
- In Mein Konto kann der Kunde die Menge und die Frequenz seines Abonnements ändern. Die Änderung wird ab der nächsten Erneuerung angewendet, mit einer Vorschau auf den neuen Betrag und das neue Datum.
- Jede Zeile eines Produkts, das beide Optionen anbietet, zeigt „Kauf: einmaliger Kauf“ oder „Kauf: Abonnement“ mit ihren Bedingungen im Warenkorb, bei der Zahlung (klassisch und Block), der Bestellung, in Mein Konto, der Bestellbestätigung und in den E-Mails an. Ein Abonnement von N Einheiten wird für N Einheiten erstellt und erneuert.
- Die Rabattschichten für die Erneuerung können mit dem Rabatt von Abonnieren und Sparen kombiniert oder nach ihm angewendet werden: zuerst Abonnieren und Sparen, solange es dauert, und dann die Schichten (es ist eine Einstellung). Ein Planwechsel übernimmt die Schichten des neuen Produkts.
- Übersetzung ins Deutsche (de_DE) inklusive: das gesamte Plugin, mit den enthaltenen Gateways von Redsys, Bizum, Google Pay und Inespay. Ein Shop auf Deutsch zeigt keine Texte in Englisch mehr an der Kasse, in Mein Konto, in den E-Mails oder in den Einstellungen an.
- Beim Aktualisieren erscheinen Abonnements, die mit einem anderen Zyklus als ihrem Produkt erneuert werden, in einer Verwaltungsbenachrichtigung mit der Schaltfläche „Mit dem Produkt abgleichen“, um sie abzugleichen.
Behoben:
- Die Übersetzungen, die im Ordner
languages/des Plugins enthalten sind, werden tatsächlich geladen. In WordPress 6.7 und späteren Versionen wurden sie in einem nicht existierenden Ordner gesucht, sodass nur die installierten inwp-content/languages/plugins/. - Ein Abonnement, das vom Kunden in Mein Konto oder vom Shop aus der Verwaltung storniert wurde, endet jetzt tatsächlich. Wenn es kein Enddatum hatte, blieb es für immer auf „Storniert“: es wurde nie storniert, die E-Mail für das stornierte Abonnement wurde nicht gesendet und ein Shop, der den Zugang je nach Status des Abonnements gewährt, tat dies weiterhin. Jetzt wird es storniert, wenn der bereits bezahlte Zeitraum endet. Neuer Filter
aswc_prepaid_term_end. - Ein Zahlungserneuerungsversuch belastet jeden Zeitraum höchstens einmal. Mit einer ausstehenden Zahlung oder einer, die abgelaufen ist, nachdem die Bank sie genehmigt hat, konnte der Versuch eine zweite Erneuerung des gleichen Zeitraums erstellen und belasten.
- Wenn ein Versuch eine fehlgeschlagene Erneuerung mit einer neuen Erneuerungsbestellung bezahlt, kann der Kunde die fehlgeschlagene Bestellung nicht auch bezahlen (bei der Zahlung, in Mein Konto oder mit der Verwaltungsaktion „Zahlung der ausstehenden Bestellung erneut versuchen“). Wenn bereits eine Zahlung im Gange war, als der Versuch ausgeführt wurde, wird dies in beiden Bestellungen markiert, damit du die Rückerstattung entscheiden kannst.
- Zwei gleichzeitige Erneuerungsversuche für dasselbe Abonnement (mehrere Chargen des Action Scheduler oder ein WP-CLI-Executor zusammen mit WP-Cron) können es nicht beide belasten.
- Stripe: Eine Erneuerung, deren Antwort verloren geht (ein Zeitüberschreitung, ein Server, der mitten in der Anfrage stoppt, ein Proxy-Fehler), wird nicht mehr als fehlgeschlagen markiert, was sie belastbar ließ und es einem Versuch erlaubte, den Zeitraum zweimal zu belasten. Jetzt bleibt es in Wartestellung mit einer Notiz in der Bestellung, wird in der Zwischenzeit nicht erneut belastet und wird eine Stunde später in Stripe überprüft: es wird abgeschlossen, wenn die Belastung erfolgt ist, und geht in die normalen Versuche über, wenn nicht.
- Stripe: Solange eine Erneuerung auf die Bestätigung ihrer Belastung wartet, ermöglicht das Reaktivieren des Abonnements nicht, dass der nächste Versuch eine weitere Erneuerung des gleichen Zeitraums erstellt und belastet. Die Zurückhaltung wird ebenfalls im Abonnement vermerkt.
- Stripe: Eine verspätete Benachrichtigung über „fehlgeschlagene Zahlung“ lässt eine bereits bezahlte Erneuerung nicht mehr fehlschlagen. Stripe und PayPal: Eine Erneuerung setzt die Karte, die der Kunde ersetzt hatte, nicht mehr zurück.
- PayPal: Wenn PayPal nicht antwortet (Zeitüberschreitung, Verbindungsfehler oder Serverfehler), bleibt die Erneuerung zur Überprüfung zurückgehalten, anstatt als fehlgeschlagen markiert und erneut versucht zu werden, was sie zweimal belasten konnte.
- PayPal und WooPayments: Eine Erneuerung bleibt niemals belastbar, wenn das Zahlungs-Plugin mit einem internen Fehler nach dem Senden der Belastung fehlschlägt. Die von PayPal bleiben zur Überprüfung zurückgehalten und die von WooPayments werden abgeglichen. Früher konnte ein Versuch sie ein zweites Mal belasten.
- Ein Abonnement ohne gültigen Abrechnungszyklus wird nicht mehr täglich erneuert: es übernimmt den Zyklus seines Produkts oder wird in Wartestellung versetzt und niemals belastet. Es wird auch nicht von einem Zahlungsversuch oder manuellen Aktionen des Shops (Create Pending Renewal Order, Retry Pending Order Payment und Retry Renewal Payment) belastet, die es jetzt mit einer Notiz ablehnen.
- Beim Aktualisieren auf die 3.0.0 übernehmen Abonnements ohne Abrechnungszyklus den ihres Produkts.
- Der Abrechnungsintervall eines Abonnementprodukts und der jeder Variation wird nicht mehr standardmäßig auf „Tage“ voreingestellt: es muss ausgewählt werden, oder das Produkt wird nicht als Abonnement gespeichert.
- Die „Zahlung“ und der „Abrechnungszeitraum“ eines bestehenden Abonnements werden aus seinem Programmierungsfeld gespeichert, und ein leerer Zyklus wird nicht mehr als „Tage“ angezeigt.
- Die Überprüfungen des Abrechnungszyklus akzeptieren von anderen Plugins hinzugefügte Zeiträume, ändern niemals ein Abonnement nur, um es anzuzeigen, und senden der Shop höchstens eine E-Mail pro Tag über Abonnements ohne Zyklus.
- Ein Abonnement mit einer Testphase wird am Tag erneuert, an dem die Testphase endet, nicht am Tag, an dem es gekauft wurde (die zweite Belastung kam weniger als einen Monat nach der ersten).
- Ein neues Abonnement wird zum Zeitpunkt seiner Erstellung datiert. Das Erstellungsdatum war die lokale Zeit des Shops, die als UTC gespeichert wurde, sodass in einem Shop östlich von UTC es später als tatsächlich angezeigt wurde (zwei Stunden in Spanien im Sommer) und neue Abonnements unter älteren eingeordnet wurden. Abonnements, die vor Version 3.0.0 erstellt wurden, behalten ihr Datum.
- Eine vom Kunden bezahlte Verlängerungsbestellung wird registriert: eine fehlgeschlagene Verlängerung, die auf der Bestellseite bezahlt wurde, oder eine manuelle Verlängerung verschiebt jetzt das Datum der nächsten Zahlung um einen Intervall und plant diese Zahlung. Zuvor wurde das Abonnement ohne geplante Aktionen wieder aktiviert und nie wieder verlängert.
- Eine Verlängerung ohne etwas zu bezahlen (ein wiederkehrender Gutschein von 100 %) wird wie jede andere registriert: das Abonnement bleibt aktiv und die nächste Verlängerung wird geplant.
- Die tägliche Überprüfung der Planung stellt die fehlende Zahlungsaktion in Shops mit Hochleistungsbestellverwaltung (HPOS) wieder her. Es wurden nur die Abonnements unter den Einträgen gesucht und es wurde keines gefunden.
- Ein Abonnement oder eine Bestellung, die nach der Planung ihres Startdatums storniert, zurückerstattet oder abgelaufen ist, wird an diesem Datum nicht mehr aktiviert.
- Ein gelöschtes Abonnement, das von einem Administrator storniert oder während einer fehlgeschlagenen Verlängerung zurückerstattet wurde, behält den geplanten Wiederholungsversuch nicht mehr.
- Das Reaktivieren eines pausierten Abonnements in Mein Konto plant keinen Zahlungsversuch mehr.
- Eine vollständige Rückerstattung der ersten Bestellung eines Abonnements storniert es erneut. Der Shop behandelte diese erste Bestellung als Verlängerung, sodass ein zurückerstatteter Kunde weiterhin abonniert blieb und bei der nächsten Verlängerung belastet wurde.
- Die Rabattstufen für Verlängerungen gelten für alle Verlängerungen, für die sie konfiguriert wurden: der Zähler für bezahlte Verlängerungen wurde nie erhöht, sodass eine Stufe, die in der zweiten Verlängerung oder später begann, nie angewendet wurde. Jetzt zählt jede bezahlte Verlängerung einmal, und eine zurückerstattete Verlängerung zählt weiterhin.
- Das Bearbeiten der Rabattstufen für Verlängerungen eines Produkts ändert den Preis der bestehenden Abonnements nicht mehr. Die Stufen werden beim Start des Abonnements gespeichert und bleiben so, wie sie verkauft wurden, auch die von Gutscheinen.
- Die in einem Gutschein konfigurierten Rabattstufen für Verlängerungen und die Stufen nach Kundenrolle gelten jetzt für die Verlängerungen. Sie wurden gespeichert, aber nie verwendet. Die von einem Gutschein gelten auch für ein Produkt ohne eigene Stufen, auch wenn "Produkt-Rabatte überschreiben" deaktiviert ist.
- Die Zahlung endet nicht mehr mit einem fatalen Fehler, wenn das Produkt Rabattstufen für Verlängerungen hat.
- Der Rabatt auf die erste Zahlung wird einmalig und nur bei der ersten Zahlung angewendet. Er wurde zweimal angewendet und auf alle Verlängerungen übertragen. Er gilt nicht für eine Testphase oder einen Planwechsel.
- Ein Produkt mit Rabatt auf die erste Zahlung zeigt bei der Zahlung seinen tatsächlichen Preis für die Verlängerung an. Beide Checkouts zeigten die erste Zahlung mit Rabatt als Preis für alle Verlängerungen an, obwohl die Verlängerungen zum vollen Preis berechnet wurden.
- Ein Produkt mit einer Testphase, das mit einem wiederkehrenden Gutschein gekauft wurde, wird zu seinem rabattierten Preis verlängert. Es wurde mit einem Verlängerungsbetrag von 0 gespeichert und kostenlos verlängert.
- Die Anmeldegebühr wird einmal pro Abonnement erhoben, unabhängig von der Menge. Ein Abonnement, das mit einer Menge von 3 gekauft wurde, zahlte die Gebühr dreimal.
- Mit den Preisen, die inklusive Steuern eingegeben wurden, wird der wiederkehrende Gesamtbetrag des Abonnements auf die Dezimalstellen des Shops gerundet gespeichert.
- Planwechsel: Der Wechsel wird am Datum der nächsten Zahlung berechnet, das das Abonnement anzeigt, und das neue Datum wird ab dem Wechsel gezählt (zuvor gab es bei einem Upgrade einen ganzen Zeitraum geschenkt). Ein Wechsel gewährt niemals die Testphase des neuen Produkts; das Guthaben des nicht genutzten Zeitraums ist das, was tatsächlich dafür bezahlt wurde; eine zweite Wechselzeile für dasselbe Abonnement wird abgelehnt, und eine zweimal bestätigte Änderungsbestellung wird nur einmal angewendet.
- Planwechsel mit Proratisierung: Das Guthaben des vorherigen Abonnements wird einmal pro Zeile angewendet, nicht einmal pro Einheit.
- Ein Planwechsel zu einer Variation, die den Abrechnungszeitraum des variablen Produkts übernimmt, wird als das anerkannt, was es ist. Zuvor wurde es immer als Downgrade behandelt, unabhängig von den Preisen.
- Ein Downgrade zu einer Variation, die den Intervall ihres übergeordneten Produkts erbt, erhält sein Guthaben. Es wurde als unendlich berechnet und nie angewendet.
- Ein Planwechsel behält die Abrechnung eines Abonnements ohne Enddatum bei, wenn sein Guthaben als Tage hinzugefügt wird, der neue Zeitraum beginnt am Tag des Wechsels und behält die Rabattstufen eines Anmeldegutscheins bei.
- "Downgrade stoppen" und "Nur Wechsel zum gleichen Intervall erlauben" sind deaktiviert, es sei denn, du aktivierst sie. Nach dem Speichern der Einstellungen wurden sie als aktiviert gelesen und alle Downgrades und alle Wechsel zwischen Intervallen wurden abgelehnt.
- Synchronisierter Erneuerungstag: Die erste monatliche Verlängerung ist der Tag dieses Monats, wenn er noch nicht vergangen ist; alle Verlängerungen bleiben an diesem Tag; die Produktkarte kündigt das Datum an, das berechnet wird; "Letzter Tag des Monats" verlängert am letzten Tag jedes Monats, und ein Standort östlich von UTC verschiebt den ersten Erneuerungstag nicht mehr um einen Tag am Ende seines Arbeitstags.
- "Lass den Kunden das Ablaufdatum wählen" bei einem variablen Abonnement: Das Ablaufdatum-Feld bietet den Abrechnungszeitraum des Produkts an (zuvor fiel es auf "Tage") und lehnt ein kürzeres Ablaufdatum als den Abrechnungsintervall ab. Dasselbe gilt für ein Abonnement, das aus einem zusätzlichen Verkauf von CartFlows erstellt wurde.
- Das Limit für die Stornierung von Testphasen eines Produkts wird angewendet: Nach der angegebenen Anzahl von stornierten Testphasen kann der Kunde die nächste nicht mehr stornieren.
- Der Zahlungsblock zeigt im Bestellübersicht den Abrechnungszeitraum an ("/ 1 Monat"), wie es zuvor der Warenkorbblock tat.
- Die Verlängerungsbeträge des Zahlungsblocks folgen dem Warenkorb: Nach einem Gutschein oder einer Änderung der Menge oder des Versands bleiben sie nicht mehr bei den vorherigen Beträgen, bis die Seite neu geladen wird.
- Zahlungsblock: Die erste Belastung einer kostenlosen Testphase (die Anmeldegebühr oder nichts) erscheint nicht mehr als Angebot. Die Zeile zeigt, was jetzt berechnet wird, die Testphase und den Preis der Verlängerung.
- Ein variables Produkt, das Abonnementsvariationen und Einmalkäufe mischt, zeigt nicht mehr seinen Preisbereich mit einem Abrechnungszeitraum an, was den Preis des Einmalkaufs als monatlich darstellt. Neue Hilfsfunktion und Filter.
aswc_variable_product_has_one_time_variation(). - Das Redsys-Karten-Icon (und die Standard-Icons der anderen enthaltenen Zahlungsanbieter) nimmt im klassischen Checkout mit einem Block-Theme nicht mehr die gesamte Zahlungsbox ein. Dein eigenes Logo bleibt unberührt.
- Inklusive Redsys-Zahlungsanbieter: Eine mit der gespeicherten Karte berechnete Verlängerung speichert sie nicht erneut. Jede Verlängerung fügte dem Kundenkonto eine weitere identische Karte hinzu. Bei einem Update werden die Duplikate entfernt, die von früheren Versionen gespeichert wurden, und die, die für die Verlängerungen verwendet werden.
- Redsys: Eine Verlängerung belastet die zuletzt gespeicherte Karte des Kunden, nicht die älteste, und eine bereits gespeicherte Karte wird bei Kunden mit mehr als zehn Karten nie wieder gespeichert.
- Eine Stornierung in Redsys, Bizum oder Google Pay storniert die Bestellung im Shop. Zuvor blieb sie ausstehend.
- Zahlungen per Nachnahme, Überweisung oder Scheck und manuelle Abonnements senden dem Kunden die Rechnung für die Verlängerung mit dem Link zur Zahlung. Zuvor wusste der Kunde nichts, bis der Shop "Zahlungsversuch für Verlängerung wiederholen" verwendete. Neuer Filter.
aswc_send_manual_renewal_invoice. - "Zahlungsversuch für Verlängerung wiederholen" wird bei einer ausstehenden Verlängerungsbestellung erneut angeboten, und die E-Mail, die der Shop über eine fehlgeschlagene Verlängerung erhält, weist darauf hin, dass es sich um eine Verlängerung handelt und nennt sein Abonnement.
- Der Shop erhält die E-Mail über eine fehlgeschlagene Verlängerung nur einmal. Das Plugin sendete eine eigene Kopie zusammen mit der von WooCommerce.
- Die Erinnerungs-E-Mail für die Verlängerung wird vor der Verlängerung gesendet, wenn der Shop sie aktiviert. Sie wurde geplant und nie gesendet.
- Die E-Mail "Abonnement von inaktiv auf aktiv" wird gesendet, wenn der Shop ein Abonnement in der Warteschleife von seinem Bearbeitungsbildschirm reaktiviert.
- Der Standardbetreff von fünf E-Mails (storniert, abgelaufen, in Warteschleife, pausiert und reaktiviert) schrieb "Abonnement" falsch.
- Die Links in der Verwaltung zur Abonnementseite funktionieren wieder: der Link zu den Plugin-Einstellungen, der zur Abonnementnotiz in der Bestellnotiz, die Rückkehr nach dem Pausieren, Reaktivieren oder Stornieren, "Zurück" und der CSV-Export endeten mit "Es tut mir leid, du hast keine Berechtigung, auf diese Seite zuzugreifen".
- Der Papierkorb der Abonnementliste bietet "Wiederherstellen" und "Dauerhaft löschen", um ein bestimmtes Abonnement wiederherzustellen oder zu löschen.
- Der REST-Pfad
aswc-view-subscriptiongibt die Abonnements zurück. Er filterte nach einem Metadaten-Schlüssel ohne Unterstrich und gab keine zurück. - Ein JavaScript-Fehler auf den klassischen Warenkorb- und Zahlungsseiten verschwindet: das Block-Skript wurde dort ausgeführt, wo es keine Blöcke gibt.
- WordPress 6.7 und spätere Versionen registrieren nicht mehr die Warnung "Übersetzungsladung wurde zu früh ausgelöst" bei jeder Anfrage. Auch zwei PHP-Warnungen im Shop und auf der Produktbearbeitungsseite verschwinden.
- Die Übersetzungsvorlage (.pot) deckt wieder alle Texte ab: etwa 360 konnten nicht übersetzt werden, darunter die HTML-Rechnung für die Verlängerung.
- Barrierefreiheit: Alle Felder im Abonnement-Panel des Produkts (einfach, Mehrprodukt und Variation) haben jetzt einen Namen, der den Bildschirmleser ankündigt.
- Das Speichern eines Abonnements zu Beginn einer Verwaltungsanfrage (z. B. von admin-ajax oder admin-post) endet nicht mehr mit einem fatalen Fehler.
- Das Deinstallieren des Plugins entfernt auch seine temporären Daten.
Sicherheit:
- Redsys, Bizum und Google Pay akzeptieren das Ergebnis einer Zahlung nur, wenn ihre Signatur gültig ist. Eine gefälschte Rückkehr zum Shop konnte eine Bestellung als bezahlt markieren.
- Die Zahlungsbenachrichtigungen von Inespay werden authentifiziert. Eine Benachrichtigung, deren unterzeichneter Betrag nicht mit der Bestellung übereinstimmt, wird in den Wartestatus versetzt, und eine wiederholte Benachrichtigung für eine bereits bezahlte Bestellung wird ignoriert.
- Die Verwaltungslinks zum Pausieren und Reaktivieren eines Abonnements erfordern die Berechtigung zur Bearbeitung von Bestellungen, einen gültigen Link und den erwarteten Status. Eine Reaktivierung konnte ohne Anmeldung ausgelöst werden.
- Die Lizenz- und Updateprüfungen überprüfen immer das Zertifikat des Servers, und ein Update-Paket wird nur akzeptiert, wenn es vom Lizenzserver über https kommt.
- In Mein Konto sind die Details eines Abonnements, die Liste der Erneuerungen und der Wechsel der Zahlungsmethode (einschließlich Stripe) nur für den Kunden verfügbar, dem sie gehören.
- Die Aktionen des Kunden zum Pausieren, Reaktivieren und Kündigen werden basierend auf dem gespeicherten Status des Abonnements und den Einstellungen des Shops entschieden, sodass die Mindestfrist und die Grenze für Testkündigungen nicht mehr umgangen werden können. Ein Link, der vor dem Update angezeigt wird, funktioniert einmal nicht; beim Neuladen der Seite erscheint ein funktionierender.
- Das Startdatum, das ein Kunde sendet, wird nur akzeptiert, wenn es eines der vom Produkt angebotenen ist.
- Der Zahlungsblock erstellt immer das Abonnement, wenn der Warenkorb es enthält; ein Parameter der Anfrage konnte es umgehen.
- Ein Planwechsel gibt nur anteilig Kredit für ein eigenes und aktives Abonnement des Kunden, und jeder Kredit wird nur einmal ausgegeben. Ein erstatteter Zeitraum generiert keinen Kredit.
- Verstärkungen der Sicherheitsüberprüfung von 3.0.0: die Aktualisierungsroutinen und die Konfiguration des vault von PayPal werden nur für Administratoren ausgeführt; die Massenaktion für benutzerdefinierte Startdaten überprüft den Benutzer und die Anfrage; eine Endaktionsaktion beendet nur Abonnements, die auf die Beendigung warten; der Programmrestaurator versucht niemals, vom Shop beschlossene Rückhalte erneut zu versuchen, und die enthaltenen Redsys-Gateways schreiben den Signaturschlüssel nicht mehr in das Debug-Protokoll.
- Die Rabattschaltfläche des Produkts und die Rabattfelder jeder Variation werden nur für einen Benutzer gespeichert, der dieses Produkt bearbeiten kann (Tiefenschutz).
Entwicklung:
- Der Selector „Einmaliger Kauf / Abonnement“, der unter dem Preis angezeigt wurde, wurde entfernt; er wird durch das neue Widget ersetzt. Die AJAX-Aktion
aswc_onetime_purchasewird weiterhin als veraltet registriert und tut nichts (wird im Protokoll höchstens einmal täglich registriert mitWP_DEBUG). Konsultationdocs/reference/hooks-and-extension-points.md. - wurde entfernt
ASWC_Admin::aswc_admin_reactivate_onhold_subscription()und ihr Hook voninit: war der Handler eines Links, den kein Bildschirm angezeigt hat. - Neue Filter:
aswc_prepaid_term_end,aswc_send_manual_renewal_invoiceundaswc_variable_product_has_one_time_variation.
Kompatibilität:
- Getestet bis WordPress 7.1 und WooCommerce 11.1.0.
- Erfordert WordPress 6.5 oder höher, WooCommerce 8.0 oder höher und PHP 7.4 oder höher.
- Vollständig kompatibel mit der Hochleistungsbestellverwaltung von WooCommerce (HPOS) und mit den Blöcken Warenkorb und Zahlung.
- Funktioniert weiterhin autonom, ohne von der Erweiterung WooCommerce Subscriptions abhängig zu sein.







