My manager requests payment in advance for the first session (usually an assessment) and if it is not paid before the session (I think a week before) then the session is cancelled. After that we receive payment on the day or invoice at the end of the month, and charge full fee for a cancellation within 24 hours of the session. We often waive the first no-show/late cancellation as an act of good will, but will remind them that we will have to charge next time. I think what you are doing sounds fair – I think people don’t always appreciate what an impact non-payment has, and if they weren’t happy with the Ts and Cs then they had the opportunity to question them at the time of signing! It may be worth pointing out that it is standard practice to charge a no-show/late cancellation fee so wherever they go they will likely face the same or similar Ts and Cs.