How does it work with PayPal? Do I send the data like with any other provider and paypal will authorize it? or does the user still have to be redirected to them?
It is indeed possible to use PayPal as a gateway. I believe the product you want is Website Payments Pro (what used to be Verisign), but their offerings are completely indecipherable and I suggest just giving them a call. This also has the benefit of getting you to a person to help guide you through the set up process.
"Website Payments Pro" is the one that will accept payments into your PayPal account, and "PayFlow Pro" (nee Verisign) is the one which accepts payments into your merchant account at a bank.
IIRC, both will take money from a credit card (which can be entered directly onto your site) or via Paypal payments (which requires a redirect to some stuff on paypal.com).