Do you have a written collection policy that you post prominently and potentially even have customers sign? If not, that might be a good thing to implement - write it up and send it in your next billing. It tells customers up front that you expect to be paid in a timely manner and what action you will take if this is not the case.
For example, you could say that all payments are due within 30 days of the date of the invoice and that accounts which remain unpaid after 30 days (or 60 or whatever) will incur a 1.5% interest rate (or some other %). You could mention that this equates to 18% APR....that might encourage them to be a little more prompt.
Cancelling accounts and charging cancellation fees can also be a good "motivator," but you`ll definitely want to notify customers that you`ll do it if they don`t pay their bill. It should probably be used as a last resort due to the potential for negative publicity.
You might say that accounts which remain unpaid (delinquent) for more than 90 days will be turned over to a collection agency and accounts will be cancelled and incurr a cancellation charge.
Whatever policy you set and notify your customers of, you must enforce it (you can make minor exceptions at your discretion) for it to have any "teeth."