Probably one of the easiest solutions would be a web based service. One I've used in the past is authorize.net.
That way you can just include it in the design of the site, and it works pretty seemlessly. As for physical software, I don't know of any.