Там ключ в слове фальшивые имхо.
Мальчик дал 10+10+5 р фальшивыми, продавец взял себе 10 [фальшивых], а отдал 10+5 [фальшивых]. Итого у него 10 р фальшивых денег. Потом к нему пришли и сказали, дядя, верни 25 "фальшивых". Он вернул. Пусть у него касса по принципу first in - last out, то бишь он стопкой купюры складывает. То есть сверху у него 10 р фальшивыми, а остальное настоящее. Он возвращает эти 10 р [фальшивых] и плюс 15 настоящих, своих. Итого он попал на 15 рублей настоящих денег, а фальшивки все вернул. Ну и на шапку.
он получил фальшивку в 25 и отдал шапку и 15 настоящих
Нет, не настоящие 15 он отдавал, потому что иначе бы мальчика за разменом не посылал. Мальчик сбегал, разменял 10+10+5, продавец себе 10 взял, а 10+5 отдал, из тех же денег. Фальшивых.