Authorize.Net , и, вероятно, наиболее достойные платежные шлюзы и сторонние процессоры, предлагают что-то, называемое Silent Post (a.k.a. Instant Payment Notifcation (IPN)). Как правило, всякий раз, когда производится платеж, скрипт на вашем сервере уведомляется через POST-данные этой транзакции. Затем ваш скрипт может делать все, что вы хотите, включая обновление базы данных и т. Д.
В случае Authorize.Net вы должны использовать это вместе с их API Automated Recurring Billing для обработки подписок.
Единственная проблема, с которой вы столкнетесь, заключается в том, что они не поддерживают несколько валют, поэтому вам придется выполнить конвертацию валюты перед созданием подписки.
Это очень распространено, и я делал это на нескольких веб-сайтах, над которыми я работал (кроме валютной части).