For anybody else reading this I highly recommend building clients sites on a staging server so that the client can see progress and test as necessary but has no access to the files until payment is received.
One very important line of my contract reads:
All files will held on our staging server until full payment is received.