Last time I used Paypal in that manner was a year or so ago, so I might be a bit rusty, but IIRC they had two ways to do it. I think one was normal and the other was pro or something, but one way sent the customer to Paypal's server to do the actual transaction, and then they sent the response back to your server through an HTTP post, and then the second way, your server interfaced with them directly and the user stayed on your site the whole time.
The pro way is probably too complex for joe anybody to set up. The standard way is also pretty complex, unless you have some sort of prebuilt shopping cart like osCommerce that already has Paypal support built in. Then it's not too bad.