Stop giving him any money, tell him you will provide a snack when he comes home. He can eat breakfast and then won't need to buy any thing on the way to school. A bowl of porridge with skimmed milk and fruit. Toast with marmite/butter not jam or Nutella type stuff
What does he have for school dinner? Do you have an app you can monitor it on?
Snack when he gets home, fruit, yogurt, bagel with cream cheese. One of them not all!
Dinner at 5.30. Really think about portions. No bigger than the size of his fist except for veg. One protein, one carb and lots of veg. Lose any fat sauces, butter, creams. Dessert can be fruit or yogurt,
Small snack before bed if hungry.
Water, milk (skimmed) or squash for all drinks.
More exercise. Much much more. If you can get him ourside between home time and dinner. Walking, kicking a ball, trampoline, basketball in a hoop in the garden, if he won't go out then get him hoovering. At least 30 mins a day in addition to the walking.
Slightly relaxed at weekends, holiday, birthdays. But not over the top,
It doesn't matter if there are fatter kids at school. They aren't your responsibility. This weight problem is setting him up for a lifetime of issues. You can still tackle it now.