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.