The seat belt buckles operate as a spring loaded latch the button slides down and wedges the spring back allowing the tounge to slide out.
a lot of times something like a coin gets behind the spring stopping it from going back.
If you have some feeler gauges like a 0.18 to a 0.24 you can slide one down into the reciever/buckle in between the tounge and the red buckle button it will let the buckle release.
Then look inside for Debris /coin stopping the latch from going back freely
fish out the debris or unbolt it and shake it upside down to get it out.
Then if it is still sticking then you will only need the buckle/ reciver replaced and not the whole seat belt.
It has worked for me before
hope this helps