Man, creating this dashboard where customers can change their plan myself was such a pain. So I'm happy to switch to Stripe's managed dashboard. It wasn't a lot of work to switch, but then by now I'm very familiar with Stripe and their API's.
This is what the flow looks like now: