Anytime I get upset my boyfriend just leaves and won't talk to me, what can I do?

So this has happened a few times in my relationship with my boyfriend. He could say something that hurts me, or we can get into a fight and he will hang up or leave ans just refuse to talk to me for a few days.

Today we were doing some stuff together and I wanted to buy something for the two of to do together costing about $30 I'm tight on money but I could manage that. It's something he knows I was super excited about but tells me not to do it. I insist it's fine I can afford but he puts his foot down and tells me to wait and he will pay for it himself in a few weeks.

I get upset cos in disappointed and just got told I'm not allowed to do something. He gets mad and says for me to take a break and come talk to me when I'm done pouting. I begged him to not leave and just give me a few minutes to calm down and I'd be fine. He agreed and before even 10 minutes went by he just left... I've tried calling and texting him and all he says is for me to leave him alone and he will talk to me 'sometime later'

I don't know how to fix this... he won't talk to me I don't even know what I did wrong so it won't happen again... and im just upset now. I love him very much and I hate when this happens. How can I fix it?

Updates
1 y
Ok so I feel the need to add a detail here that people are misunderstanding. The activity was a mutually agreed on thing. We made a deal that he would pay half and I would pay half which was his idea mind. He paid his half first and when it came my turn he changed his mind and then told me to no longer pay it.
Anytime I get upset my boyfriend just leaves and won't talk to me, what can I do?
Post Opinion