I'd suggest to have the insurance company to take care of it in this case. I had a minor accident in a parking lot, the insurance paid for it, and because the amount is small, they didn't raise my premium either.
The body shop might give a similar estimate (also ask the person to show you a written estimate) of this price. Your own insurance company will usually require the estimate be done at designated shops, which might come out cheaper.
Good luck.