Abonnements avec tableau des prix - réponse client non trouvé

Salut tout le monde ! J’ai un problème sur lequel je travaille depuis quelques jours sans succès, j’espère donc que quelqu’un ici pourra m’aider :slight_smile:

Discourse 3.4.0.beta1-dev
Subscriptions 2.8.1 - f0b4984
Installation Docker sur VM Linux

J’ai installé et activé le plugin subscriptions, et il fonctionne la plupart du temps lorsque j’utilise le tableau de prix intégré (parfois un utilisateur n’est pas ajouté aux groupes après un abonnement, mais c’est un problème distinct, je suppose).

Cependant, j’ai vraiment besoin d’utiliser le tableau de prix et le checkout Stripe pour l’expérience utilisateur familière et la confiance qu’ils apportent. À cette fin, j’ai tout configuré pour les webhooks, avec tous les secrets, etc. configurés (j’utilise actuellement le mode test, donc j’utilise les clés et secrets du mode test).

Je peux accéder avec succès à la page d’abonnement, parcourir le flux de paiement à partir du tableau de prix et finaliser l’achat avec les cartes de test.

Cependant, cela n’entraîne la création d’aucun abonnement dans Discourse et aucun changement dans les groupes des utilisateurs. En regardant les webhooks dans le tableau de bord de Stripe, je vois qu’ils reçoivent une réponse 422 avec le corps :

{
  "errors": [
    "customer not found"
  ]
}

J’ai essayé cela avec plusieurs utilisateurs maintenant, et le résultat est toujours le même.

Après avoir consulté la base de données, je ne vois pas les clients mentionnés dans le webhook Stripe dans la table discourse_subscriptions_customers, ni aucun abonnement correspondant dans la table discourse_subscriptions_subscriptions non plus - ce qui pourrait être attendu puisque l’appel webhook n’est jamais traité ?

Pour information, j’ai vérifié que les appels webhook Stripe peuvent réussir en général - si j’ai désactivé le paramètre “utiliser le tableau de prix Stripe”, et que je passe par le checkout intégré pour créer un abonnement, alors tout va bien - et si j’annule ensuite l’abonnement depuis Stripe, le webhook customer.subscription.deleted arrive sans problème.

J’espère que j’ai juste fait quelque chose de stupide et que ce n’est pas configuré correctement, mais j’ai vraiment du mal à comprendre ce que je dois faire pour que cela fonctionne.

Merci d’avance !
Ross

1 « J'aime »

Désolé que vous rencontriez des problèmes, mais merci de nous avoir signalé cela. J’espère que nous pourrons comprendre ce qui se passe. La première question que j’ai est de savoir si les produits que vous avez sélectionnés pour le tableau des prix sont ceux que vous avez créés à partir de Discourse ou s’ils ont été créés à partir de Stripe ?

J’obtiens également cette erreur dans mon environnement de production que j’ai configuré, mais pas localement, donc c’est un peu difficile à déboguer. Je suis en train de regarder !

Merci pour votre réponse :slight_smile:

J’ai essayé des deux manières, initialement j’avais des produits configurés dans Stripe, puis j’ai trouvé des fils de discussion ici suggérant qu’ils devaient être créés dans Discourse, alors j’ai changé pour faire cela à la place. Cependant, je vois toujours le même problème.

Je suppose (et m’excuse si je me trompe) que le lien vers les groupes est piloté par les métadonnées du produit ? Je vois ceci là-dessous :

(Le group_name varie en fonction du niveau de prix, ce à quoi je m’attendrais compte tenu de la façon dont j’ai configuré les choses dans Discourse).

Merci de vous pencher sur ce problème, faites-moi savoir s’il y a autre chose que je puisse faire pour aider :slight_smile:

J’ai créé un correctif pour la réponse « client introuvable » avec le tableau des prix. Si vous mettez à jour votre plugin d’abonnement et réessayez, cela devrait fonctionner maintenant.

2 « J'aime »

Veuillez excuser le retard de ma réponse, et merci encore de vous y être penché :slight_smile:

Je viens de tout mettre à jour et j’ai fait un test rapide, et je vois toujours la même réponse (c’est-à-dire client non trouvé) aux webhooks Stripe.

Pensez-vous que je devrais peut-être créer un tableau de prix / un ensemble de produits entièrement nouveaux et tester avec cela, afin d’exclure tout problème qui pourrait subsister des tests précédents (j’ai utilisé un nouvel utilisateur pour ce test, mais les produits sont ceux qui étaient là d’avant).

Pouvez-vous confirmer à nouveau ce que vous avez pour le hash de commit sous le numéro de version sur la page /admin/plugins ?

Et s’agit-il d’un abonnement ou d’un achat unique avec le tableau des prix ?

J’ai ajouté un nouveau paramètre pour le plugin d’abonnement à des fins de débogage. Il s’appelle discourse_subscriptions_enable_verbose_logging. Une fois activé, vous pouvez visiter /logs et réessayer le processus de paiement pour voir s’il y a une sortie. N’hésitez pas à m’envoyer des captures d’écran dans un message privé et je pourrai vous aider à déboguer davantage.

Absolument, pas de problème. Le hash de commit que j’ai est le même que sur votre capture d’écran, f1b9c96 :slight_smile:

Ceci concerne un abonnement, avec le tableau des prix.

Ok, génial, merci. Je vais essayer d’activer ce paramètre et regarder les logs :slight_smile:

Merci encore pour votre aide :slight_smile:

2 « J'aime »