Discourse-Abonnements – Klärung von „Am Ende des Zyklus kündigen“

Es stellt sich heraus, dass der Benutzer doch tun kann, was ich gefragt habe (ich habe “erlauben” jetzt in “klären” geändert)… hier sind also zwei neue, aber verwandte Punkte…

Funktionswünsche: Die Standardformulierung sollte die beiden Arten der Stornierung verdeutlichen. Die Admin-Oberfläche sollte die gleiche “Status”-Spalte wie die Benutzeroberfläche haben.

Hier sind einige Details…

Es scheint, dass “stornieren” in Discourse Subscriptions zwei verschiedene Dinge bedeutet, je nachdem, wer es tut! Für den Benutzer storniert es nur die automatische Verlängerung; für den Administrator wird das gesamte Abonnement sofort storniert.

  1. Wenn der Benutzer auf das Papierkorbsymbol unter u/.../billing/subscriptions klickt, erscheint die Aufforderung: “Sind Sie sicher, dass Sie dieses Abonnement stornieren möchten?”

    Die Auswahl von Ja löst den Webhook customer.subscription.updated aus.

    Zwei bemerkenswerte Teile der Antwort sind "cancel_at_period_end": true und "status": "active". Die Abonnementseite des Benutzers zeigt weiterhin “Status: Aktiv” an, aber bei “Erneuert am” steht nun “storniert”. Der Benutzer bleibt in der abonnierten Gruppe.

    Ärgerlicherweise zeigt die Admin-Oberfläche nun nicht mehr an, dass die automatische Verlängerung storniert wurde – sie hat nur “Status: Aktiv”.

  2. Wenn der Administrator unter /admin/plugins/discourse-subscriptions/subscriptions auf “stornieren” klickt, erscheint wieder die Aufforderung: “Sind Sie sicher, dass Sie dieses Abonnement stornieren möchten?” (es wird auch gefragt, ob eine Rückerstattung erfolgen soll).

    Die Auswahl von Ja löst den Webhook customer.subscription.deleted aus.

    Die Antwort enthält "status": "canceled". Das Abonnement wird überall gelöscht und der Benutzer aus der abonnierten Gruppe entfernt.