You can setup the user with the pre-approval api. https://developer.paypal.com/docs/classic/api/adaptive-payments/Preapproval_API_Operation/ Then use the Pay API to charge them. https://developer.paypal.com/docs/classic/api/adaptive-payments/Pay_API_Operation/ When the user enters in PayPal they accept the amount that they'll be charged. They don't want people being sneaky and changing the subscription too much in the background.
... View more