J’essaie d’utiliser les abonnements (tableau de prix) sur mon instance auto-hébergée. J’ai configuré et testé en mode test Stripe, cependant, lorsque je passe en mode live, bien que cela semble fonctionner, l’onglet « facturation » de mon profil signale maintenant une erreur.
Erreur
lors du chargement de /s/user/subscriptions
Quelque chose s’est mal passé.
Lorsque je consulte la console JavaScript, je vois :
« un objet similaire existe en mode test, mais une clé en mode live a été utilisée »
Cela me fait penser qu’il y a un problème de cohérence lors du passage d’un mode à l’autre. Maintenant que je sais que c’est un problème, je peux faire attention aux comptes sur lesquels je teste, mais ma question est : comment résoudre ce problème pour les utilisateurs qui se sont abonnés en mode test, et qui veulent maintenant souscrire un véritable abonnement en mode live ?
(c’est-à-dire : comment résoudre cette erreur)
Y aura-t-il une requête de base de données que je peux exécuter ou quelque chose de similaire pour supprimer tous les abonnements d’un utilisateur, y compris ceux qui pourraient causer un problème ?
Merci.
En résumé, l’utilisation du mode test semble avoir laissé des artefacts sur les utilisateurs qui ont essayé des abonnements test, je suppose que les abonnements n’ont pas été annulés de la bonne manière ou de la manière attendue. En passant en mode production, l’onglet de facturation génère des erreurs.
Ce que j’ai essayé…
D’abord, ne prenez pas cela au pied de la lettre, je devine la plupart des choses en me basant sur d’autres publications et ce sont les commandes que j’ai utilisées, cependant, j’ai peut-être utilisé des littéraux et j’ai dû en répéter quelques-unes… mais voici l’idée générale ;
./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
Il semble que « subscription.destroy_all » supprime les références externes suspendues à Stripe, et « c.destroy » supprime l’abonnement local. Était-ce correct, ou ai-je cassé quelque chose en coulisses ?
D’ailleurs, l’un des problèmes que j’ai avec les abonnements, c’est qu’il ne fait vraiment que ça (!) ce n’est pas si génial pour ajouter un peu de produits divers comme des mugs, des t-shirts, etc. .. on peut probablement le faire, mais la présentation à l’aide de tableaux de tarification ne fonctionne pas vraiment avec de vrais abonnements. (et il y a une limite de 4 produits)
Dans cette optique, j’ai réussi à trouver une façon d’ajouter un “bouton” dans une page qui insère un tableau de tarification dans une “page”, ce qui supprime les limites du nombre de tableaux de tarification que vous pouvez utiliser et cela vous permet de les utiliser en ligne dans les pages… ce qui leur donne un peu de contexte. (La page des abonnements semble un peu “hors contexte” en termes de s’assurer que l’utilisateur sait à quoi s’attendre quand il clique sur “acheter”… :sourire:)
C’est environ 25 lignes et c’est réalisé via l’interface en tant qu’administrateur… pas besoin de plugins externes… ça me paraît être une solution généralement utile que je n’ai pas réussi à trouver ailleurs… Quel serait le meilleur endroit pour le poster pour une consommation publique?