Запускать, например каждый час, проверку истечения строка подписки по всем клиентам.
Если подписка истекла и включено автопродление и есть деньги на счету (или возможность списать с карты) - продляем, если нет - блокируем и шлем сообщение пользователю (ну и заранее можно напоминать).
Если в какой то час проверка сбойнет, ничего страшного, подумаешь, клиент на час больше попользуется сервисом, в след. час заблокируется или продлится, если конечно вы за этот час устраните причину сбоя, получив алярму от сервиса.