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 ![]()
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

