Abonnement nicht gefunden wegen E-Mail-Abweichung

Beschreibung des Problems

Wir hatten eine Beschwerde von einem Kunden, der ein Abonnement erhalten hat, aber nicht zur Gruppe hinzugefügt wurde.

TL;DR

Wenn die E-Mail-Adresse eines Benutzers (irgendwie?) nicht mit seiner E-Mail-Adresse in Stripe übereinstimmt, erhält er kein Abonnement. Das Ändern der E-Mail-Adresse in Stripe löst das Problem.

Untersuchung

Jetzt haben wir Folgendes gesehen.

  • In der Übersicht mit allen Abonnements ist es vorhanden

  • Der Benutzer hat eine Zahlung in seinem Profil

  • Der Benutzer hat KEIN Abonnement in seinem Profil!!!

  • In der Datenbank sieht alles in Ordnung aus. Ich habe die IDs etwas geschwärzt, da ich nicht weiß, wie vertraulich Stripe-IDs sind.
db0731=# select * from discourse_subscriptions_subscriptions where external_id='sub_1Lf285...9YA0';
-[ RECORD 1 ]-----------------------------
id          | 944
customer_id | 944
external_id | sub_1Lf285...9YA0
created_at  | 2022-09-06 13:47:57.074098
updated_at  | 2022-09-06 13:47:57.074098

db0731=# select * from discourse_subscriptions_customers where user_id=62443;
-[ RECORD 1 ]---------------------------
id          | 944
customer_id | cus_MN...sc
product_id  | prod_MH451u0JeKHoMv
user_id     | 62443
created_at  | 2022-09-06 13:47:57.057455
updated_at  | 2022-09-06 13:47:57.057455

Die Benutzer-ID stimmt mit dem betreffenden Benutzer überein.

In Stripe stimmen die Metadaten überein, aber die E-Mail-Adresse nicht!

Das Ändern der E-Mail-Adresse in Stripe, sodass sie mit der Discourse-E-Mail-Adresse übereinstimmt, löst das Problem. Das Abonnement erscheint sofort im Profil des Benutzers.

Aus irgendeinem Grund versucht das Plugin, Stripe zu kontaktieren, um die Abonnements für diese E-Mail-Adresse zu finden.

Ich verstehe nicht, warum es so funktioniert.

  • Die Metadaten sind vorhanden, warum also nicht darauf abgleichen?
  • Alle Informationen sind bereits in der Datenbank vorhanden, warum also überhaupt Stripe kontaktieren?

Es ist nicht nur ein Anzeigeproblem, schließlich wurde der Benutzer auch nicht zur Gruppe hinzugefügt.

2 „Gefällt mir“