Ok this may seem like a silly question, since normally this is just handled by the billing system. However I am not using any normal billing system I am opting to write my own so it can be intergrated with my custom control panel for a specialized type of hosting I am going to do.
That said, I will be accepting PayPal payments via Website Payments Standard and intergrating with IPN. Users may opt to pay each invoice as it comes or use a subscription to have it auto-paid.
Now my question is how do I handle upgrade and downgrades for those who pay by subscription?