И с этой бедой ничего не сделать) При чём тут не техническая проблема, а непонятно как вообще логика должна работать)
да как же..
Во-первых, фиксировать курс обмена на момент транзакции. Я же уплотил деньги, посчитал их по курсу какому-то. То что раньше я заплатил 2 рубля и это был доллар, а через 3 месяца доллар 2.5 - у меня не стало больше денег. Фиксация курса обмена в транзакции - это must. Я сколько не писал обработок транзакций, везде курс обмена фиксировался на момент сделки.
Во-вторых, курс можно фиксировать во время прихода.
Если я получил ЗП 10-го апреля по курсу 2.52, то и трачу я эти деньги по курсу 2.52, не зависимо от того, что 20-го апреля курс уже 2.40. (но это опциональная фича и, вероятно, подойдёт только для тех у кого ЗП зафиксирована в долларах, получает по курсу в рублях, платит рублёвой картой, а базовая валюта - доллар. Это почти все в РБ :)