Google, Amazon, PayPal, roll your own. We have a custom coded online store with custom shopping carts that is using Amazon for the checkout process. When the customer 'checks out' of our site, they are sent to Amazon where the items are added to an Amazon cart. We have seen abandoned shopping carts full of items and are concerned that it is partially caused by people seeing the Amazon name and going there directly. We are in the process of standing up another site with a custom shopping cart that will take payments directly. Has anyone already gone through this type of iterative testing that can share experiences?
You're going to get abandoned shopping carts nomatter what you do, but the best option is generally the one that fully integrates into your webpage.
You can still use PayPal's API with a roll-your-own (no experience with Amazon and Google as they don't offer services in my part of the world), so you can have the best of both worlds.
I doubt there's been too many people that have done iterative testing on their live sites though because changing the checkout is difficult and time consuming (and thus, expensive) for what may be little to no return.
Personally, wherever the budget allows, I always integrate the checkout experience into my own website (SSL's are cheap these days), whether it's with PayPal, SecurePay or another merchant service.