So, I just so happen to be writing an asyncronous credit card processor. As it turns out, there is a great module for handling credit card transactions but it hasn't been updated since 1999. Business::OnlinePayment is pretty cool, but it's blocking. I've contacted the author about some API changes and such but I'm not sure if he's still around.
I need to start hacking on this thing to make it non-blocking pretty soon. If you have any information on Jason Kohles, please speak up. Otherwise, I feel a module aquisition coming on.