What I want to do is:
-Charge a customer the full plan price every time they upgrade, have the billing period start date switch to the day they upgrade
-When a user downgrades their plan, allow them to do so without having them pay. No account_balance should get added from this.
-I have webhooks on my website so I'd like to know under which webhook action the parts of the code go under.
-I want an upgrade/downgrade function which does all of this and a webhook class which handles the other workings.
What I don't want in the solution:
-Having to create a new subscription
-Having to create a new customer
-Anything that would screw up my metrics, I want this done as efficiently as possible.
-Setting the account_balance = 0 as I may sometimes give users credit to use.
I want the official Stripe PHP SDK to be used: [url removed, login to view]