Abonnements mit festgelegter Länge zulassen

Feature-Anfrage: Ich möchte ein Abonnement anbieten können, das nur für eine Periode gilt. Am Ende dieser Periode:

  • Der Benutzer sollte aus der Discourse-Gruppe des Abonnements entfernt werden (was meiner Meinung nach bei aktuellen Einmalzahlungen nicht geschieht).
  • Es sollten keine weiteren Zahlungen mehr erfolgen.

Mögliche Lösung? Das Discourse Subscriptions Plugin sollte es ermöglichen, das iteration-Attribut eines Abonnementplans festzulegen. Ich habe dies in der Stripe-Dokumentation auf der Seite Subscription Schedules API gefunden:

Festlegen der Länge einer Phase

Das Intervall eines Preises bestimmt, wie oft ein Abonnement abgerechnet wird. Ein monatliches Intervall wird beispielsweise jeden Monat abgerechnet. Phasen haben ein iterations-Attribut, mit dem Sie festlegen, wie lange eine Phase dauern soll. Multiplizieren Sie diesen Wert mit dem Intervall, um die Länge der Phase zu bestimmen. Wenn ein Abonnementplan einen Preis mit monatlichem Intervall verwendet und Sie iterations=2 festlegen, dauert die Phase zwei Monate.

Abschließen eines Plans

Abonnementpläne enden, nachdem die letzte Phase abgeschlossen ist. An diesem Punkt bleibt das Abonnement bestehen und ist nicht mehr mit dem Plan verknüpft. Wenn Sie ein Abonnement nach Abschluss der letzten Phase eines Plans kündigen möchten, können Sie end_behavior auf cancel setzen.

3 „Gefällt mir“

Hallo, haben Sie dieses Problem gelöst?

2 „Gefällt mir“

Nein, leider gab es zu viele Eigenheiten und fehlende Funktionen bei diesem Plugin. Ich weiß allerdings nicht, ob es seit meiner Frage geändert wurde.

1 „Gefällt mir“

Mir ist gerade aufgefallen, dass der Kern meiner Feature-Anfrage auch hier erwähnt wird:

1 „Gefällt mir“

Ich arbeite an dieser Funktion für das Abonnement-Plugin. Ich hoffe, es funktioniert.

2 „Gefällt mir“

Viel Glück! Wir würden es auch für mehrere Anwendungsfälle als sehr hilfreich empfinden – insbesondere für einmalige Veranstaltungen.

Ich bin ziemlich sicher, dass dies inzwischen die „Regel der Drei“ erreicht hat.

1 „Gefällt mir“

Es wird bald ein Update für das Abonnement-Plugin geben, das dieses Problem behebt.

Es wird auch die Steuerprobleme lösen: Automatic_tax.enabled for Discourse Subscription plugin

und andere Zahlungsmethoden aktivieren. How can I customise the discourse-subscription plugin?

Bitte melden Sie sich, wenn Sie weitere Probleme mit diesem Plugin haben. Ich glaube, ich bin mir der meisten bewusst, aber es gibt immer noch einige Teile, über die ich mehr erfahren möchte. Zum Beispiel möchte ich mehr über Ihre Wahrnehmung der Kampagnenfunktion erfahren. Hat hier jemand sie benutzt? :slight_smile:

4 „Gefällt mir“

Ich nutze die Kampagne für betterstreets.nz. Sie ist in Ordnung, aber ziemlich unflexibel. Ich habe sie vor 9 Monaten eingerichtet und sie läuft immer noch (wenn auch extrem langsam!).

Mein größtes Problem ist, dass die Leute derzeit nicht einfach X Betrag spenden können; stattdessen müssen sie jährlich abonnieren.

Außerdem wird sie in diesen gleichen Begriffen dargestellt – d. h. pro Monat. Das macht die Beträge einfach seltsam und ist nicht wirklich die Art und Weise, wie die meisten Leute für eine Kampagne denken: von Null bis X als absoluter Betrag. Selbst wenn es jährlich dargestellt würde, wäre es viel besser.

Die Banner sind in Ordnung (oben für Entdeckungsseiten und unten für Themen), aber nicht sehr anpassbar. Es wäre schön, sie größer oder kleiner machen zu können, damit sie zum Rest der Website passen (z. B. andere Banner / Fußzeilen).

Sobald sie von einem Benutzer auf einem Gerät abgewiesen wurden, wäre es schön, sie gelegentlich wieder erzwingen zu können oder sie zu einer viel diskreteren Sache schrumpfen zu lassen (aber sie sollten vorhanden sein, bis die Person gespendet hat).

2 „Gefällt mir“

Vielen Dank für dieses Feedback!

Das ist sehr hilfreich.

Ich verstehe. Ich habe mich in Ihrem Forum angemeldet, um das zu überprüfen, und ich verstehe, was Sie meinen.

Vielleicht wäre es gut, sie gar nicht abweisbar zu machen? Sie scheinen nicht sehr aufdringlich zu sein und bieten wertvolle Informationen, selbst für Leute, die bereits gespendet haben. Sie geben der Community ein gemeinsames Ziel, und die Spender verdienen es, für ihren Beitrag anerkannt zu werden.

Es gibt viele Möglichkeiten, Banner in Discourse zu erstellen. Welche Methode verwenden Sie derzeit?

Etwas, das ich erkannt habe: Ich wusste nicht, dass es möglich ist, Ihr Vorhaben zu unterstützen, bis ich mich im Forum angemeldet habe. Wie wir wissen, wird der größte Teil des Publikums aus passiven Lesern bestehen und nur eine kleine Minderheit wird sich registrieren.

Daher scheint es eine gute Idee zu sein, das Kampagnenbanner auch für nicht angemeldete Benutzer anzuzeigen. Ich bin sicher, dass es viele Leute gibt, die gerne spenden würden, aber derzeit keine aktiven / registrierten Mitglieder sind.

Bisher großartiges Feedback! :grinning: :+1:

2 „Gefällt mir“

In betterstreets.nz verwende ich nur das Banner, das Teil des Kampagnen-Bits des Subscriptions-Plugins ist. Seine Anwesenheit hindert mich daran, andere Banner hinzuzufügen!

Ich verwende jedoch auch andere Banner auf anderen Websites.

Ich stimme vollkommen zu – aber nur, wenn es für sie super klar und einfach wäre, dies zu tun!

1 „Gefällt mir“

Ich kann mich nicht an die Stripe-Terminologie erinnern, aber das gesamte Plugin dreht sich um ihre alte Vorgehensweise (die nur Kreditkarten zulässt) und nicht um die neue Vorgehensweise (die eine Vielzahl von Zahlungsoptionen zulässt).

Die Stornierung wird verwirrend beschrieben (aus dem Gedächtnis: Es ist die Stornierung der automatischen Verlängerung, scheint aber als sofortige Stornierung beschrieben zu werden).

Ich habe vor einiger Zeit einige Themen über das Plugin hinzugefügt. Viele erhielten keine Antworten, daher ist es gut zu hören, dass Sie jetzt an dem Plugin arbeiten. Bearbeiten: Hier ist ein Link – Search results for 'tags:subscriptions @Jonathan5' - Discourse Meta

2 „Gefällt mir“

Es wäre auch großartig, wenn gleichzeitig mit der Registrierung für das Forum ein Abonnement abgeschlossen werden könnte. Derzeit ist der zweistufige Prozess nicht für alle Szenarien ideal.

2 „Gefällt mir“

Ich habe das einmalige Abonnement mit einem Zeitintervall erfolgreich gelöst, indem ich dem Preisobjekt neue Metadaten (“recurring:0/1”) hinzugefügt habe. Und wenn Sie versuchen, ein Abonnement mit price[:metadata][:recurring]==“0” zu erstellen, setze ich den Wert cancel_at_end = true im Subscription-Objekt.
Dann müssen Sie beim Erstellen eines einmaligen Preises immer noch ein Intervall (Jahr, Monat, Tag, Woche) auswählen, aber Sie sollten das Feld “wiederkehrend” nicht ankreuzen.
Und wenn ein Benutzer es abonniert, erstellt das Backend ein wiederkehrendes Abonnement, das am Enddatum endet. Der Benutzer muss die Verlängerung nicht selbst kündigen.

Ich habe jedoch festgestellt, dass ich die von mir erstellten Produkte nicht löschen kann. Siehe Cannot delete products on Discourse Subscriptions - #2 by Jonathan5

Hochladen: image.png…
Das ist mein Problem, ich kann die Produkte nicht löschen. Soll



ich sie bei Stripe löschen?

1 „Gefällt mir“

Ich verliere den Überblick über diese gemischten Themen! Viel Erfolg bei allem. Ich habe das Plugin schon seit Ewigkeiten nicht mehr ausprobiert, daher kann ich leider nicht wirklich helfen.

2 „Gefällt mir“

Dieses Thema ist ziemlich unübersichtlich geworden. Es ist mir nicht sofort klar, wie ich es sauber entwirren kann. :thinking:

Ich würde jedoch vorschlagen, dass sich jeder an ein Thema/eine Funktion pro Thema hält, damit sie leichter zu verfolgen und zu verwalten sind. :pray:

3 „Gefällt mir“

@Alex_王 @Jonathan5 @nathank

Wenn ihr möchtet, könnt ihr den aktualisierten Code ausprobieren. Ihr könnt den Branch aus diesem PR auschecken:

Ihr müsst den Stripe CLI lokal ausführen, um die Webhook-Nachrichten weiterzuleiten. Dies ist der Befehl, den ihr verwenden müsst:

stripe listen --forward-to http://localhost:4200/subscriptions/hooks --api-key your-api-key

Ihr müsst auch das Stripe Webhook-Geheimnis zur Discourse-Instanz hinzufügen (als Plugin-Einstellung „Webhook Secret“). Ihr findet es im Codebeispiel auf der rechten Seite im Formular zur Erstellung von Webhooks bei Stripe.

Ich habe ein kurzes Video erstellt, um einen Überblick über die Datenstrukturen und ihre Verbindung zu den Discourse-Datenstrukturen zu geben:

Dem stimme ich weitgehend zu, aber es sollte jetzt behoben sein. Ihr könnt bei Stripe alles konfigurieren, was ihr wollt (Zahlungsmethoden / Steuern / Preistabelle usw.), und es sollte alles funktionieren.

Das Plugin verwaltet nur die Verbindung zwischen Discourse-Benutzern und Stripe-Kunden, und die Erstellung von Produkten, Plänen usw. erfolgt vollständig im Stripe-Dashboard.

Es kann jedoch immer noch Fehler geben. Wenn euch etwas auffällt, meldet es bitte. :grinning: :+1:

3 „Gefällt mir“

Ist das also ein Fork, den Sie als PR-Anfrage für das offizielle Plugin einreichen möchten, sobald es etwas ausgereifter ist? Wenn ja – brillant!!! Und vielen Dank für Ihre gute Arbeit und Energie daran!

Wenn ja, werde ich es bald ausprobieren. Es wird natürlich etwas Herumprobieren erfordern, um es vollständig zu testen.

[quote=“spirobel, post:17, topic:246395”]Sie müssen den Stripe CLI lokal ausführen, um die Webhook-Nachrichten weiterzuleiten. Dies ist der Befehl, den Sie verwenden müssen:

stripe listen --forward-to http://localhost:4200/subscriptions/hooks --api-key y

[/quote]
Wo führen wir das aus? Auf dem Server als Root oder innerhalb des Docker-Containers? Und verwenden wir unsere Instanz-URL vor /subscriptions/hooks?

Und nur um sicherzugehen, dass ich das Richtige tue, ist das das, was wir anstelle des offiziellen Plugins installieren?

git clone https://github.com/spirobel/discourse-subscriptions -b "feature/rework-admin-page"
1 „Gefällt mir“

Dies ist nur für eine Entwicklungsumgebung erforderlich, die lokal auf Ihrem Computer ausgeführt wird. Sie können zum Beispiel im Video sehen, dass meine Discourse-Instanz auf localhost:4200 läuft, was bedeutet, dass sie auf meinem Computer läuft.
Wenn Sie diese exakte Umgebung nachbilden möchten, können Sie dieser Anleitung folgen:

Da der Stripe-Server die Adresse localhost:4200 in meinem lokalen Netzwerk nicht erreichen kann, ist es notwendig, diesen Befehl auszuführen, um die vom Stripe-Server kommenden Webhook-Anfragen weiterzuleiten.

Wenn Sie dies auf einem Server ausprobieren möchten, der mit dem Internet verbunden ist, können Sie die Webhook-Konfiguration des offiziellen Tutorials befolgen: Discourse Subscriptions Plugin

Bitte installieren Sie es (noch) nicht auf einer Instanz, die bereits Live-Kundendaten und die alte Version des Discourse-Abonnement-Plugins installiert hat. Probieren Sie es auf einem zweiten Staging-Server aus, da die beiden Versionen in Konflikt stehen werden.

Vielen Dank für das Testen! Dies wird es auch Besuchern ermöglichen, die noch kein Konto haben, einen Plan zu kaufen. Sie werden automatisch zur Discourse-Instanz eingeladen und haben die entsprechenden Gruppenmitgliedschaften, sobald sie bezahlt haben.

2 „Gefällt mir“

Ich habe eine relativ ruhige Live-Seite (betterstreets.nz) mit nur 3 Kunden, einschließlich mir selbst, aus einem im Wesentlichen fehlgeschlagenen früheren Experiment. Ich würde es gerne dort testen und das vorherige Plugin und seine Daten bei Bedarf entfernen (obwohl ich Hilfe bei dem richtigen Rails-Konsolenbefehl benötigen würde). Hätte ich in diesem Fall immer noch einen Konflikt?