It should just be a simple case of writing a snippet to do the job from what I gather on the Paypal website:
https://www.paypal.com/cgi-bin/webscr?cmd=p/xcl/rec/ipn-code-outside
Since all it’s doing is grabbing some variables and checking some data against what you’ve got on your site, once you’ve written your side of things the transaction interaction with Paypal looks pretty easy.
The thing is though, there’s little point writing a bunch of snippets for this and adding them to the repository unless you had a specific need for them. Why I say this is that different companies will want to store different client data, sell different numbers of items (from one to a million), have different categories for their products etc, so unless someone really fancies writing a whole shopping cart script or makes a decision on what customer data should be stored by default.
If you were selling one item - a script or a service for example - you wouldn’t need a full-blown shopping script. You probably wouldn’t want to store much customer data either. If you were selling many items, you’d need something more like a full-blown e-commerce script and you’d probably want to store a lot more details.
So... it looks easy enough to interact with Paypal as all you’re doing is passing basic information to it and returning some other info from it, but the work is in writing your own side of the application if you see what I mean