https://gocardless.com/docs/api_guide#pre-authorization
I can't see any guidelines about how you are recommended to approach these types of situation. In some ways pre-setting a max limit is nice for the customer if you warn them when they approach. I know people who have been billed huge amounts on AWS without really realizing. SO long as you hand hold the customer and your pricing model is simple to understand you should be able to make it work out I would think. For upgrades there is probably no reason not to get explicit agreement (presuming it is just a checkbox really, no need to give the acount details again after all), it is variable usage that is more complex I would think.