Ich versuche, Abonnements (Preistabelle) auf meiner selbst gehosteten Instanz zu verwenden. Ich habe den Testmodus von Stripe eingerichtet und getestet. Wenn ich jedoch zu Live wechsle, scheint es zwar zu funktionieren, aber der Tab „Abrechnung“ in meinem Profil meldet nun einen Fehler.
Fehler
beim Versuch, /s/user/subscriptions zu laden
Etwas ist schiefgelaufen.
Wenn ich die Javascript-Konsole aufrufe, sehe ich:
„Ein ähnliches Objekt existiert im Testmodus, aber ein Live-Modus-Schlüssel wurde verwendet“
Dies lässt mich vermuten, dass es ein Konsistenzproblem beim Wechsel zwischen den Modi gibt. Jetzt, da ich weiß, dass dies ein Problem ist, kann ich vorsichtig sein, auf welchen Konten ich teste, aber meine Frage ist, wie kann ich dieses Problem für Benutzer beheben, die im Testmodus abonniert haben und nun ein echtes Abonnement im Live-Modus abschließen möchten?
(d. h. wie behebe ich diesen Fehler)
Gibt es eine Datenbankabfrage, die ich ausführen kann, oder etwas Ähnliches, um alle Abonnements für einen Benutzer zu löschen, einschließlich derer, die ein Problem verursachen könnten?
Danke.
Zusammenfassend lässt sich sagen, dass der Testmodus Artefakte bei Benutzern hinterlassen zu haben scheint, die Testabonnements ausprobiert haben. Ich vermute, dass die Abonnements nicht auf die richtige oder erwartete Weise gekündigt wurden. Beim Wechsel in den Produktionsmodus treten Fehler im Abrechnungs-Tab auf.
Was ich versucht habe …
Nehmen Sie dies nicht absolut wörtlich, ich rate hauptsächlich aufgrund anderer Beiträge und dies sind die Befehle, die ich verwendet habe, obwohl ich möglicherweise Literale verwendet und ein paar wiederholt habe … aber dies ist die allgemeine Essenz;
./launcher enter app
rails c
u = User.find_by_username(<username>)
c = DiscourseSubscriptions::Customer.find_by(user_id: u.id)
subscription = DiscourseSubscriptions::Subscription.where(customer_id: c[:customer_id])
subscription.destroy_all
c.destroy
Es scheint, dass “subscription.destroy_all” hängende externe Verweise auf Stripe entfernt und “c.destroy” das lokale Abonnement entfernt. War das in Ordnung oder habe ich etwas im Hintergrund kaputt gemacht?
Nebenbei bemerkt, eines der Probleme, die ich mit Abonnements hatte, ist, dass es sich wirklich nur um Abonnements handelt (!) Es ist nicht so gut darin, ein wenig zufällige Merchandise-Artikel (Tassen, T-Shirts usw.) hinzuzufügen. Man könnte argumentieren, dass es das kann, aber die Präsentation mit Preistabellen funktioniert nicht wirklich neben tatsächlichen Abonnements. (und es gibt ein Limit von 4 Produkten)
Zu diesem Zweck ist es mir gelungen, eine Möglichkeit zu finden, einen “Button” in eine Seite einzufügen, der eine Preistabelle in eine Seite einfügt, was die Anzahl der verwendeten Preistabellen unbegrenzt macht und es ermöglicht, sie inline in Seiten zu verwenden, was ihnen etwas Kontext gibt. (Die Abonnementseite fühlt sich ein wenig “aus dem Kontext” heraus an, wenn es darum geht, sicherzustellen, dass der Benutzer weiß, worauf er sich einlässt, wenn er auf “Kaufen” klickt. )
Es sind etwa 25 Zeilen und wird über die Benutzeroberfläche als Administrator erledigt. Keine externen Plugins erforderlich. Es fühlt sich wie eine allgemein nützliche Lösung an, die ich nirgendwo anders finden konnte. Wo wäre der beste Ort, um sie zur öffentlichen Nutzung zu veröffentlichen?