The role comes off when the subscription ends, not before. A member who cancels keeps it to the end of the period they paid for, and a failed renewal keeps it while Stripe retries the card.
Members cancel on Stripe’s billing page, which they open with /membership in your server or from your invite page. The cancellation takes effect at the end of the period they’ve paid for: they keep the role until then, and the bot removes it when the subscription ends.
The subscription goes past due, and the member keeps the role while Stripe retries the card. You can see who is behind in the member list on your dashboard: their row is marked past due, with the role still granted.
How often Stripe retries, whether it emails the member a link to update their card, and what it does after the last retry are settings in your own Stripe account, because the subscription lives there.
If your Stripe settings cancel the subscription or mark it unpaid, the bot removes the role. If they leave it past due, the member keeps the role, so check that setting if you want access to stop.
A full refund removes the role and cancels the subscription, so a renewal can’t bring it back; a partial refund changes nothing. How to refund a member.
A dispute removes the role while the case is open. A member who pauses their subscription loses the role until they resume.
Ask in the flatpass Discord, or email support@flatpass.io. Both are read by the people who build it.