Какие есть практики для работы с асинхронным ответом от сервисов?
Уже несколько раз натыкался на ситуации, когда сервисы способны слать результаты только посредством callback-ов.
В одном случае это были ответы от банка после совершения платежа через их веб-форму. Сперва решал проблему тупо цикличной проверкой через ajax на предмет полученного отклика. Потом вроде как сделали полумеру с точки зрения безопасности и в силу специфики продукта (оффлайн услуги с большим интервалом времени после оплаты) это было допустимо.
Сейчас подобная проблема возникла при работе с сервисом рекламы в мобильных играх. Все подобное уже встречали: смотришь видеоролик и получаешь игровую валюту. Сервис работает тоже асинхронно и шлет ответ колбеком с задержкой от 1 секунды до 5 минут. Но никто ведь не будет заставлять юзера столько ждать? Как в таких случаях лучше решить проблему? Только начислением "аванса" в момент отсылки команды на показ видеоролика?
Потенциально можно накрутить немало игровой валюты, если перехватить запросы и потом слать curl-ом. И потратить прежде, чем произойдет синхронизация.
Есть ли еще какие-то практики?