I've used Ruby's ActiveMerchant (based off of Shopify) on several large projects. It is really simple to use, especially for someone that doesn't deal with payments often.
thank you for the kind words :-) . ActiveMerchant turned out to be one of those quick things I put together while making Shopify that took on a life of it's own. Amazing success. At one point Cody took a 2 week vacation after we shipped Shopify and while he was gone we got 3 new gateways contributed that all immediately became available in Shopify. Even if he would have stayed back and coded all day he couldn't have created so many production ready gateway backends.
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).
This is a valid point. What benefits would PayFacade provide over ActiveMerchant?
I guess it's tough to build products where the customers are developers (anything with API in the description), because programmers don't like to pay for tools like CEO's do.
http://www.activemerchant.org/
Using a different gateway is a one-line change. Running test data is easy. It supports every major gateway and payment company. And it's free.
If you're using Ruby, I can't recommend it enough.