Can I charge my customers different amounts every billing period (e.g. metered billing based on usage)?

Follow

Of course you can. Recurring transactions can be set up through the API, allowing you to determine different amounts each time you use it to charge a customer. Here's how you can do it:

https://github.com/VivaPayments/API/wiki/CreateRecurringTransaction