Possible bug: A user is added to the Discourse group when a subscription starts, but the user is not removed when the subscription is cancelled.
I’ve cancelled via Discourse (logged in as the user) and cancelled via Stripe’s website, but in neither case was the test user removed from the group. Perhaps it is relevant that I am still in Stripe test mode.
I’m putting this in the “bug” category but if I’m missing something then feel free to move it elsewhere.
I looked at the logs on Stripe for the webhooks and they were all 422 ERR (“No signatures found matching the expected signature for payload”).
I hadn’t entered the discourse subscriptions webhook secret on Discourse!
There are two codes on Stripe’s /test/webhooks/ page. I first tried the one on the top right (beginning we_) but it still got a 422 error. Then I tried the one called “Signing secret” (beginning whsec_, presumably for webhook secret – seems obvious now) and it worked!
As an aside, the user (as opposed to the admin) cancelling only cancels auto-renewal, so isn’t meant to remove the user from the group immediately. I found this out by looking at the responses on the webhooks page and experimenting: see Discourse Subscriptions - clarify "Cancel at end of cycle" - #2 by Jonathan5.