There's a big difference between doing a show for 'free' and doing a show for 'nothing'.
My wife does certain gigs where they simply don't have the budget to pay her fee. In these cases she works out a trade with them. They have to advertise her being there, she has to be on any print materials, they have to put up social media posts about her being there (with links to her site and contact information), etc. So she may not get paid as much as she prefers, but she'll be plastered all over the place and people will know she's there and who she is.
When you're starting out it can behoove you to do some charity gigs. Street fairs, fund raisers, local fraternal organizations, that sort of thing. But be aware that those gigs will do absolutely nothing for you if people don't know who you are. Be shameless - get your name and contact information and picture printed and posted as much as possible.
If you want to be a professional (i.e. get paid for doing magic on a regular basis), you need to start by developing a quality show.
Eric Mead has said, "Business is the bigger word, yes, but the Show comes first."
And a good thing to remember when negotiating is a concept Scott Tokar calls, "Removing the Elephants." You decide your price. That's what you're willing to work for. If they say they can't do that, say, "Ok, well, I can take out this trick and this trick, and then I can do it for ..."
What this does is never dilute your value. Because if you say, "I'll do it for $150 an hour" and they say, "That seems to high" and you say, "Ok how about $100 an hour?" ... your price is $100 an hour and in the future you'll be fighting up from there. But if you say, "I can do it for $150" and they say no and you come back with, "Ok, well, if that's out of your budget then I can remove this special trick and this one, and that means I can bring it down to $100" then you're maintaining your value. David's structure above makes it much easier to increase your rates as your value increases, because people will already be acknowledging that you have value.
Also - I put discounts on the invoice/contract. Normal price, discount, subtotal. This emphasizes that they're getting a deal and it's not the normal pricing.
Also also - have a contract. For every gig. This not only provides you the base line of legal protection in case someone decides not to pay, it also lays out in plain print exactly what is expected from you, and exactly what is expected from the client. If you need XYZ, make them sign a contract that says they will provide XYZ. I find it useful to toss in something slightly trivial, like "Bottled water must be provided" - that way if you show up to the gig and they say, "And there's your water" you know they read the contract thoroughly and you'll probably be fine as far as set up goes. If there's no water, you need to make sure everything is right and proper.