After a long time searching I failed to find an out-of-the-box option that allowed me to do everything I wanted whilst integrating tightly into my site and, more importantly, not looking rubbish. My requirements were:
- different products available for each item (canvas / print etc)
- php pages to autofill the galleries according to a genre I define, but to allow some images to be purchased and others not
- have a backend that allows carts to be stored for future visits
- a cart on the website rather than going straight to paypal so that I can handle everything but the card payment.
Those were the main things, but there were others and probably some I can't think of right now.
In the end, I wrote my own cart system to do exactly what I wanted. The only thing to do now is actually integrate with paypal, but that won't take long. You can see pretty much what it looks like here, though it's still in dev:
www.gyphotography.co.uk/dev/v2/
If you want any more info on bits of it, email in trust
If you want something very much more simple than that, a paypal buynow button would do the trick, but it's one per basket item, so there'd be three if you wanted to offer three different types of prints for a single photo. That's as I understand it, anyway, though I didn't look into it a whole amount.