ユーザーが私が依頼したことを実行できることが判明しました(タイトルを「許可」から「明確にする」に変更しました)…そこで、関連する新しいものが2つあります…
機能リクエスト: デフォルトの文言で、2種類のキャンセルを明確にする必要があります。管理者インターフェースには、ユーザーインターフェースと同じ「ステータス」列が必要です。
詳細はこちら…
Discourseサブスクリプションの「キャンセル」は、誰が行うかによって2つの異なる意味を持つようです!ユーザーにとっては自動更新のキャンセルのみですが、管理者にとってはサブスクリプション全体を即座にキャンセルします。
-
ユーザーが
u/.../billing/subscriptionsのゴミ箱アイコンをクリックした場合、プロンプトは「このサブスクリプションをキャンセルしてもよろしいですか?」となります。「はい」を選択すると、
customer.subscription.updatedwebhookがトリガーされます。レスポンスの注目すべき2つの部分は
"cancel_at_period_end": trueと"status": "active"です。ユーザーのサブスクリプションページは引き続き「ステータス:アクティブ」ですが、「更新」には「キャンセル済み」と表示されます。ユーザーはサブスクライブグループに残ります。残念ながら、管理者インターフェースには、自動更新がキャンセルされたことを示す表示がなく、単に「ステータス:アクティブ」と表示されます。
-
管理者が
/admin/plugins/discourse-subscriptions/subscriptionsで「キャンセル」をクリックした場合、プロンプトは再び「このサブスクリプションをキャンセルしてもよろしいですか?」(返金するかどうかも尋ねられます)。「はい」を選択すると、
customer.subscription.deletedwebhookがトリガーされます。レスポンスには
"status": "canceled"が含まれます。サブスクリプションはすべてで削除され、ユーザーはサブスクライブグループから削除されます。