Глагол 'stop' может иметь разные значения в зависимости от того, что следует за ним: инфинитив (to + V) или герундий (V-ing).
'Stop to buy' означает 'прекратить что-то делать, чтобы купить что-то'.
'Stop buying' означает 'прекратить покупать что-то (как действие)'.
В данном предложении речь идет о прекращении самой покупки сладостей, а не о прекращении чего-то другого для покупки сладостей. Поэтому нужен герундий.