Currently the subscription is deactivated when the next payment datetime is passed (and automatic renewal failed or manual renewal was configured). We want to extend the deactivation by some grace period to make it possible for people to manually renew without immediately losing their membership status.
We could make this grace period depend on the last paid for membership duration, e.g. if the user paid for only a week the grace period will be in the order of days, whereas if the user paid for a year the grace period could be in the order a month.
When paying within the grace period, the next payment date will be set to the old payment date + the amount of time paid for.
As a simpler alternative, we could simply start sending reminder mails a few weeks early and allow people to easily pay for their membership before it expires.