Access to account features on subscriptions that expire in the future


This is a pretty high-level app development question and isn’t necessarily specific to meteor, but I felt it best to ask here in case there’s specific functionality in meteor I should be considering.

I’m building an app that allows a user to subscribe (using Stripe), giving them access to further customisation features - in basic-terms allowing them to populate more fields in their user document.

The problem I’m having is with unsubscribing.

Allowing the subscription to run until the end of the billing period is obviously the fairest approach for the customer - but it provides a challenge - how do I revert their paid customisations when the sub expires (potentially months in the future), rather than when they cancel it?

Checking if that user needs their account reverting every time their user document is accessed seems highly inefficient, but I’m struggling to think of another way to handle it.

Any ideas?


Just found this guide from Stripe that covers this topic, may be helpful for others:

tl;dr: Webhooks.