In response Alison's question on my snarky comment (sorry):
Do a search on something like "paypal horror stories" for nastiness on both sides of the fence (merchant and consumer). As an end user, I always have problem using my business credit cards with them. Instead, try something like http://authorize.net, http://www.braintreepaymentsolutions.com/, or http://www.zuora.com/index.html. All of these have language specific libraries to help you.
I don't think you will find a library that abstracts away multiple gateway. I haven't seen any and they all do things just a bit differently that it would make things difficult. Regardless, it isn't that much code to write or customize from their provided libraries.
Personally, I go with authorize.net for my needs. You are dealing directly with the payment gateway instead of a third party like paypal, braintree, or zuora. Just remember, the more people between you and the bank, the less money you get to keep.