3👍
You could simply assign a level to each user, and modify this according to their choice of upgrade. I assume you are already storing the date of upgrade.
Then you simply need to set up a scheduled task using either cron or Celery to regularly process the actual payments.
Django’s included django.contrib.auth app also has built-in groups and permissions functionality which may be helpful to you (see the official docs for more info).
Userena may also be worth a look.
A separate approach that might work for you might be to use Paypal’s subscription options, as detailed in this answer on SO: https://stackoverflow.com/a/4488947/1275237
👤ojh
Source:stackexchange.com