Dear M'ship Team,
There is a much simpler approach for paypal that I would recommend you implement forthwith.
Instead of asking people to put your URL in their IPN details on Paypal - which means that any other Paypal payment system they have will be rendered null and void (unless they have a Notify URL approach for those) you should use Notify URL in your form that goes to Paypal.
Since you know the return URL (you put it on the screen for us to copy to the IPN details) you can simply put this is as the Notify-URL parameter in the form. This would make it easier for us, and allow us to have multiple Paypal activities on the same account. It would also allow us to use both the Paypal Express and the Single Payment process.
The second issue is that you provide a very constrained selection of buttons. Given that most people want to have people Subscribe, then a Subscribe button is fine, BUT... for those of us who want people to Register, or Sign Up, or pay for something once-off, Subscribe doesn't do it really. We should have a choice, if fact we should be able to customise what is on the button, since it's just an image. Obviously, the back-offcie processing for hosted Paypal buttons needs to be invoked properly, but that is separate from what is written on the image.
I've also raised separately the fact that an INDEFINITE subscription, is not a subscription in the normal sense. It;s a once-off payment for a service or a product or something, so the user should NOT be told they will need to renew, or will be billed, in a year, or a day, or ten years, or whatever is in the period of the indefinite subscription. It is INDEFINITE, so it never ends. There should be no mention of any further payments or any time period at all.
These would be very useful change sot the system.