Discourse-Abonnement als Einmalzahlung erzwingen

Bezüglich des Discourse-Subscriptions-Plugins: Was passiert, wenn ich einige Einstellungen direkt in Stripe ändere? Beispielsweise ist es in Discourse nicht möglich, einen Plan für ein Produkt als Einmalzahlung zu konfigurieren. Es muss sich um ein Tages-, Wochen-, Monats- oder Jahresabonnement handeln. Wenn ich jedoch auf stripe.com ein bestehendes Abonnement in eine Einmalzahlung umwandle, kann ich das tun? Wie würde sich diese Änderung auf die Funktionsweise des Plans in Discourse auswirken? Würde er dann als Einmalzahlung behandelt?

Das ist definitiv möglich! Wenn du im Plan-Erstellungsbildschirm das Kontrollkästchen für wiederkehrende Zahlungen deaktivierst, wird es eine Einmalzahlung.

Allerdings kannst du erstellte Pläne nicht mehr ändern.

2 „Gefällt mir“

Du hast recht! Da war mir eine Denkblase unterlaufen. Was ich eigentlich wissen wollte, ist, ob es möglich ist, eine einmalige Zahlung zu haben, die nach einer bestimmten Zeit endet und nicht unbegrenzt weiterläuft. Zum Beispiel etwas wie ein „Tagespass“, bei dem du 5 Dollar zahlst und in eine spezielle Gruppe aufgenommen wirst, und dann, sagen wir nach einem Tag, das Abonnement endet und du aus der Gruppe entfernt wirst, bis du wieder zahlst. Ist das möglich?

Das ist leider derzeit nicht möglich.

2 „Gefällt mir“

Ich mache etwas Ähnliches in einem Plugin. Ich füge dem user_group-Modell (locker) eine Aktion hinzu, die ausgeführt wird, wenn ein Benutzer zur Abonnementgruppe hinzugefügt wird, und entfernt den Benutzer anschließend aus der Gruppe. In Ihrem Fall würden Sie so etwas einrichten, dass, wenn das Abonnement den Benutzer zur one-off-weeklong-Gruppe hinzufügt:

  • der Benutzer zur weeklong-Gruppe hinzugefügt wird, die Berechtigungen für bestimmte Kategorien gewährt;
  • ein Job hinzugefügt wird, der ihn nach Ablauf der Woche aus der weeklong-Gruppe entfernt;
  • ein benutzerdefiniertes Feld mit dem Startdatum der Woche erstellt wird, damit Sie ihn im Falle einer Redis-Katastrophe löschen können;
  • er aus der one-off-weeklong-Gruppe entfernt wird.

Wenn Sie daran interessiert sind, können Sie mich kontaktieren oder im Marketplace posten.

3 „Gefällt mir“

Aber das ist albern. Fügen Sie stattdessen einen Callback für das Abonnement (wenn es sich um ein Abonnement handelt) oder den Kunden (wenn es sich um eine einmalige Zahlung handelt) hinzu. Kunde ist ein etwas irreführender Begriff. Er enthält die Stripe-Kunden-ID und die Stripe-Produkt-ID. Machen Sie also etwas wie

add_model_callback(DiscourseSubscriptions::Subscription, :after_save) do
      Rails.logger.warn("Now got a subscription #{self.external_id} for #{self.customer_id}")
      # do stuff
end

  add_model_callback(DiscourseSubscriptions::Customer, :after_save) do
    Rails.logger.warn("Customer #{self.product_id} for #{self.user_id}")
    # do more stuuff
end
1 „Gefällt mir“

Hallo, hast du dieses Problem gelöst?

Können Sie mir weitere Anleitungen geben? Zum Beispiel, wie ich diese Funktion implementieren kann. Ich bin nicht mit Rails vertraut. Danke!

Das ist meiner Meinung nach meine beste kostenlose Antwort.

3 „Gefällt mir“

Ich habe es durch Modifikation des Discourse-Abonnement-Plugins gelöst. Danke.

Aber ich habe festgestellt, dass ich Produkte nicht einmal mit dem ursprünglichen Discourse-Abonnement-Plugin löschen kann. Haben Sie eine Idee?

Sie müssen sie nicht löschen. Sie schaden nichts. Sie werden als Aufzeichnung der verkauften Artikel benötigt. Sie sollten sie über die Stripe-Konsole löschen können.

2 „Gefällt mir“

Stripe erlaubt auch nicht, Produkte zu löschen, aber sie können deaktiviert/archiviert werden.

Sie sagen:

2 „Gefällt mir“

Ich weiß nicht, ob Sie das immer noch erreichen möchten oder ob Sie einen Weg gefunden haben, dies zu tun? Es scheint keine Funktion zu sein, die mit Discourse automatisiert werden kann, aber vielleicht gibt es einen anderen Weg, dies zu tun. Es ähnelt irgendwie einem Café, in dem man jeden Tag ein neues Getränk kaufen muss, um an einem der Tische sitzen zu können.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.