Start off smart. Create a contract and include detailed information on your project scope, refund policy, time frame of the project (if there is one), agreed-upon rate, and cancellation policy. You want to cover yourself legally and in a way that prevents scope creep, which I'll cover more in a moment, because scope creep does happen, especially in referral situations involving friends or relatives.
The project scope is the part of your contract that will go over what you plan on doing for your client. For example, if you're offering a simple yet shoddy web maintenance service where you just promise to update the plugins and themes on your client's website and that's it, then just mention updating the plugins and themes in the contract. It's that simple. You can take it a step further and define any of the jargon used in the contract, but that's up to you. If I were you, I'd still include a definitions section of the contract just in case, though.
Your agreed-upon time frame of the project should be both reasonable and realistic for you. Be sure to give yourself enough time to complete the project and add on extra time to account for any emergencies that have even the slimmest possibility of happening. However, don't give yourself so much time that your clients looks at it, squints, and says "WTF!?"
As for your rates, them "kind of knowing it" isn't going to cut it. You need to make sure they don't just know your rates, but that they understand them as well. Educate them a bit on what you'll be doing, that way they feel like they're getting the best bang for their buck. Additionally, don't lift a finger until you've received your payment (whether you accept a partial or full payment upfront). If you start working before they've paid you, there's a chance they'll take advantage of this in the future as they'll assume you're eager to please. An educated client is much easier to handle than an uneducated client who thinks you work with a wand and a wizard hat.
Your cancellation policy needs to go over what you will keep and what your clients will keep from the project. For example, if you're offering a web design and maintenance service where you took pictures for your client's site and your client decides not to work with you, will you remove the images from the website, or do the images now belong to your client?
Refund policies are there just in case the client decides to stop doing business with you at any point in time. Put in any information regarding when a refund will and will not be issued. For example, if a client pays you on the 15th of each month but they decide they no longer want to work with you on the 22nd, will you issue them a full, partial, or no refund? This is important, because if you decide not to issue them a refund and they start whinging about it, you can simply refer to the contract
they signed and be done with it.
I've provided contract templates in this thread, so if any of them match the services you offer, download them and customise them for your business.
Now, remember how I mentioned scope creep earlier? Well, this is when a client starts tacking on additional tasks that you didn't initially agree to. Sometimes these tasks are minuscule and will only take a moment, and other times these clients will ask you to complete laborious tasks that take hours or days to complete. My very first client did this to me, which is the reason I started using contracts in the first place.
Once the contract is finished, send it to your client and either have them print it out and sign it or verbally agree to it. I'm unsure if a verbal agreement to the contract is as good as a signature, so it's usually better to go with a signature in these cases.