I hired a roofer to fix my leak on the roof(three story building). He seal it from attic and will charge $1000. I am not familiar the market and agree to pay him with $750 with cash. He just worked around one hour. After that, I realized that he charged me too much and asked $300 back. He said he could only refund me $250 without warranty. I think this is not fair for customers. How can I do that?