Discourseサブスクリプション - ユーザーがキャンセルした際にアカウントが早期に削除され、管理インターフェースに削除が記録されない

実行した手順: テストユーザーを作成し、1日繰り返しのサブスクリプションを設定してから、昨夜23時30分頃に(ユーザーとして)キャンセルしました(現在はこちらは20時30分です)。今夜確認したところ、以下の状況でした。

  1. Stripeのウェブサイト - サブスクリプションは「2023年11月23日 23:34 にキャンセル予定」という注記とともにアクティブと表示されています。
  2. Discourseの管理インターフェース - サブスクリプションはアクティブと表示されています。
  3. Discourseのユーザーインターフェース - ユーザーインターフェースには「アクティブなサブスクリプションはありません」と表示されており、ユーザーはDiscourseのサブスクショングループから削除されています。

問題と思われる点: 3が予想外でした。管理インターフェースと一貫性がなく、間違っているように思えます。サブスクリプションはアクティブ(ただし「更新:キャンセル済み」)と表示され、ユーザーはグループに残ると予想していました。

推測: StripeのWebhookログに関連するものは何もありません。Discourseは、Webhookの処理を待ってから実行するのではなく、該当する日(11月23日)の初めにユーザーインターフェースでサブスクリプションを削除し(グループからのユーザー削除も含む)ているのではないでしょうか? 23時34分にWebhookを処理しようとすると、「顧客が見つかりません」というエラーが返されると予想します。

推測は当たっていると思います。customer.subscription.deleted が 23:35:50 と 23:36:05 に 2 回発生し、エラーは customer not found でした。

サブスクリプションは現在、Discourse の管理ページから消えており、Stripe のウェブサイトでキャンセルされています。