Are there any payment APIs for Grails? I'm looking for something that will abstract receiving of payments for my website.
Primarily, I'm looking to hit Paypal and Google Checkout - as far as I know these are the most used online payment services. Support for any other services would be a bonus.
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.
Google Checkout plugin for Grails coming up very soon: http://geeks.aretotally.in/mind/2010/8/23/google-checkout-grails-plugin.html http://code.google.com/p/grails-google-checkout/
There's a PayPal plugin
http://grails.org/Paypal+Plugin
Not used it myself though...
A wonderful feature about Groovy is that you can plug in your Java classes and they'll work out of the box. Grails also gives you the option of integrating with plain Spring beans (to put it lightly), so you can write important code in Java. There are, of course, payment gateways in Java.
My company uses Paypal and Beanstream as payment gateways, and it seems to work at the moment....
Grails Stripe Plugin might be worth a look. It doesn't deal with PayPal and Google Checkout, but allows direct credit card payments.
It looks like aggregation of payment providers is not commonly done, and there are no Grails libraries for doing this.