Abonnements mit Preistabelle - Kunden nicht gefunden Antwort

Hallo Leute! Ich habe seit ein paar Tagen ein Problem, an dem ich arbeite, aber ohne Erfolg, also hoffe ich, dass mir hier jemand helfen kann :slight_smile:

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

Ich habe das Abonnement-Plugin installiert und aktiviert, und es funktioniert meistens, wenn ich die integrierte Preistabelle verwende (gelegentlich wird ein Benutzer nach einem Abonnement nicht zu Gruppen hinzugefügt, aber das ist wohl ein separates Problem).

Ich muss jedoch unbedingt die Stripe-Preistabelle und die Kasse für die vertraute Benutzererfahrung und das Vertrauen nutzen, das sie mit sich bringt. Zu diesem Zweck habe ich alles für Webhooks eingerichtet, mit allen Geheimnissen usw. konfiguriert (derzeit im Testmodus, daher werden Testmodus-Schlüssel und -Geheimnisse verwendet).

Ich kann erfolgreich zur Abonnementseite gehen, den Kassiervorgang über die Preistabelle durchlaufen und mit den Testkarten bezahlen.

Dies führt jedoch dazu, dass kein Abonnement in Discourse erstellt wird und keine Änderung der Benutzergruppen erfolgt. Wenn ich mir die Webhooks im Stripe-Dashboard ansehe, sehe ich, dass sie eine 422-Antwort mit dem folgenden Body erhalten:

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

Ich habe dies jetzt mit ein paar verschiedenen Benutzern versucht, und das Ergebnis ist immer dasselbe.

Wenn ich in die Datenbank schaue, sehe ich die Kunden, die im Stripe-Webhook erwähnt werden, nicht in der Tabelle discourse_subscriptions_customers und auch kein entsprechendes Abonnement in der Tabelle discourse_subscriptions_subscriptions - was ich vielleicht erwarten könnte, da der Webhook-Aufruf nie verarbeitet wird?

Zur Information: Ich habe bestätigt, dass Stripe-Webhook-Aufrufe im Allgemeinen erfolgreich sein können - wenn ich die Einstellung “Stripe-Preistabelle verwenden” deaktiviert habe und den integrierten Checkout durchlaufe, um ein Abonnement zu erstellen, dann ist alles in Ordnung - und wenn ich das Abonnement dann von Stripe aus storniere, kommt der Webhook customer.subscription.deleted problemlos durch.

Ich hoffe, ich habe hier nur etwas Dummes gemacht und es ist nicht richtig eingerichtet, aber ich habe wirklich Schwierigkeiten herauszufinden, was ich tun muss, damit es funktioniert.

Vielen Dank im Voraus!
Ross

1 „Gefällt mir“

Es tut uns leid, dass Sie Probleme haben, aber wir danken Ihnen, dass Sie dies angesprochen haben. Hoffentlich können wir herausfinden, was vor sich geht. Die erste Frage, die ich habe, ist, ob die Produkte, die Sie für die Preistabelle ausgewählt haben, solche sind, die Sie innerhalb von Discourse erstellt haben, oder ob sie innerhalb von Stripe erstellt wurden?

Ich bekomme diesen Fehler auch in meiner Produktionsumgebung, die ich eingerichtet habe, aber nicht lokal, daher ist er schwer zu debuggen. Ich schaue ihn mir aber an!

Danke für die Antwort :slight_smile:

Ich habe es auf beide Arten versucht. Zuerst hatte ich Produkte in Stripe eingerichtet und dann hier Threads gefunden, die vorschlugen, dass sie in Discourse erstellt werden müssten. Also habe ich stattdessen dazu gewechselt. Ich sehe jedoch immer noch dasselbe Problem.

Ich nehme an (und entschuldige mich, falls das falsch ist), dass die Verknüpfung zu den Gruppen durch die Produktmetadaten gesteuert wird? Ich sehe das hier darunter:

(Der group_name variiert je nach Preisstufe, was ich basierend darauf, wie ich die Dinge in Discourse eingerichtet habe, erwarten würde.)

Vielen Dank, dass Sie sich das ansehen. Lassen Sie mich wissen, ob ich noch etwas tun kann, um zu helfen :slight_smile:

Ich habe eine Korrektur für die Antwort „Kunde nicht gefunden“ mit der Preistabelle erstellt. Wenn Sie Ihr Abonnement-Plugin aktualisieren und es erneut versuchen, sollte es jetzt funktionieren.

2 „Gefällt mir“

Entschuldigen Sie die verspätete Antwort und nochmals vielen Dank, dass Sie sich darum kümmern :slight_smile:

Ich habe gerade alles aktualisiert und einen kurzen Test durchgeführt, und ich sehe immer noch dieselbe Antwort (d. h. Kunde nicht gefunden) auf die Stripe-Webhooks.

Glauben Sie, ich sollte vielleicht eine komplett neue Preistabelle / neue Produkte erstellen und damit testen, um eventuelle Probleme auszuschließen, die von früheren Tests übrig geblieben sind (ich habe für diesen Test einen neuen Benutzer verwendet, aber die Produkte sind die, die von früher noch da waren).

Können Sie noch einmal bestätigen, was Sie für den Commit-Hash unter der Versionsnummer auf der Seite /admin/plugins haben?

Und ist dies für ein Abonnement oder einen einmaligen Kauf mit der Preistabelle?

Ich habe eine neue Einstellung für das Abonnement-Plugin zum Debuggen hinzugefügt. Sie heißt discourse_subscriptions_enable_verbose_logging. Sobald diese aktiviert ist, können Sie /logs besuchen und den Checkout-Prozess erneut versuchen und sehen, ob Sie eine Ausgabe davon sehen. Senden Sie mir gerne einige Screenshots davon in einer privaten Nachricht, und ich kann Ihnen bei der weiteren Fehlersuche helfen.

Klar, kein Problem. Der Commit-Hash, den ich habe, ist derselbe wie auf deinem Screenshot, f1b9c96 :slight_smile:

Das ist für ein Abonnement, mit der Preistabelle.

Okay, super, danke. Ich werde versuchen, diese Einstellung zu aktivieren und mir die Protokolle anzusehen :slight_smile:

Nochmals vielen Dank für deine Hilfe :slight_smile:

2 „Gefällt mir“