I am wanting to accept recurring credit card payments for some software I am selling.
I want them to be able to enter their credit card details within the software and the the payment gateway will communicate with my software (if possible) whenever a recurring payment is taken out.
I am also wanting to take payment in multiple currencies depending on what the user selects...
What payment gateway would work for what I am wanting?
Have you used any payment gateway for this purpose before?
Authorize.Net, and probably most decent payment gateways and third party processors, offers something called Silent Post (a.k.a. Instant Payment Notifcation (IPN)). Basically whenever a payment is made a script on your server is notified via POST details of that transaction. Your script then can do whatever you want it to do including updating your database, etc.
In the case of Authorize.Net you would use that in conjunction with their Automated Recurring Billing API for handling the subscriptions.
The only issue you would have is they don't support multiple currencies so you would have to do currency conversion before creating your subscription.
Doing this is very common and I've done it on several websites I've worked on (except for the currency part).