I've only just come across this myself, and haven't seen it really reported elsewhere, so here's a heads up for any developer wanting to implement Paypal subscription payments on a website;
It used to be that you could generate a simple HTML form to create the subscription, and then if the user wanted a feature that required an upgrade, you could generate a button that would amend the amount on the subscription.
Not any more, if the site uses Express Checkout (i.e. directs to the PayPal page rather than accepting details on the originating site), there's an arbitrary 20% cap on subscription increases. So;
- User1 has a subscription at £5.00 a month
- He purchases level 2 access to your forums for an additional £2.50 a month
- A subscription modification button won't work, and Paypal will return the error "Amount can only be increased by 20%"
The issue is being discussed on the DeveloperX forums, with no good reason having yet been given as to why the limit has been imposed. The user would need to log into their paypal account and approve the change so it cannot be 'fraud prevention'.
If your PayPal account was created before Oct 2009, it sounds like the modification may still work. Developers Beware, just because it works with your account does not mean it will work with a clients!
There is a workaround, but it's messy, unnecessary and is going to seem really stupid to the user;
- Cancel the old susbcription
- Set-up a new subscription with the new amount
Keep in mind that the user will need to approve both of these actions, so it's never going to be quite as seamless as it should be.