You have to use PayPal Direct if you want the customer to stay on your website. This means you have to get the Website Payments Pro package from PayPal.
You can accept credit cards through either Website Payments Pro (more expensive) or Website Payments Standard.
I assume both options are easy to get going in Magento, but the only one I can personally vouch for is Website Payments Pro, which a client of ours is using and took no time at all to implement on the Magento side.
We got it working entirely from the Magento configuration without editing any code, but yes, you do need to have an SSL certificate.
You can view the two options at the following URL: