It appears as though the Subscriptions add-on stores the subscription amount as an integer in the database rather than a decimal. For example, a subscription amount of £120.00 is stored in the database as '12,000'.
This is causing a problem for, I think, any amount over 1000. For example, if I create a subscription with an amount of £1250, which gets stored in the database as '125,000', the customer actually only gets billed £1. Also, on the Subscriptions page within the module's settings, it displays the value of the subscription as £1.00.
Also, I don't think the payment gateway makes a difference but just in case, I'm using Stripe.
I'm not sure if this way of storing amounts in the database was deliberate, but it seems very odd.