Also read the article below regarding what web developers should do if payment is not given,
CSS Kill Switch
Another route that some freelance Web developers opt for when they design websites for clients is to install a kind of CSS fail-safe, in order to have leverage if payment disputes
come up. CSS Killswitch is a freelance coder’s dream come true. By simply linking to an external CSS style sheet, which can be activated with the simple click of a button, you can black out a website if the client refuses to pay — even if they have changed the password and locked you out of the back end, which is the only circumstance under which this should be done.
While it should be used only with the strictest caution and as a last resort, the kill switch has two major pros. The first is that it gives the freelancer leverage, putting them in a position that they have not traditionally had access to. This leverage could give the freelancer the upper hand and might get them paid in the end, as the client scrambles to make their website visible again. Another pro is the ease of use and installation of the CSS kill switch, relative to some of the other solutions explored in this article.
Naturally, if and when you exercise this option, know that it won’t be a popular move with your already difficult and possibly volatile client. Your results may vary, and it could further postpone final payment. Another con is that all of these Web safeguards like the CSS kill switch, while easy to use, are also easy to detect and disable if the client’s staff is knowledgeable enough. And while you are merely taking steps to get paid for the work you have done, initiating a kill switch on a client’s website could make things costly and litigious for you very quickly.
When all is said and done, the CSS kill switch definitely has its upside, even if it does reside in an ethically questionable gray area. It offers the freelancer an effective tool to negotiate with difficult clients on more level ground. But use it at your own risk.
One workaround to temporarily “disabling” the website until payment is made — though not always as effective as the kill switch — is maintenance mode. Switching the website to maintenance mode gives the freelancer a bit of leverage with stubborn clients. While similar to the kill switch, maintenance mode is a milder course of action.
One pro is that maintenance mode is even simpler to install and activate than a kill switch. You need access to the website itself in order to pull it off; and if you do still have access, you are likely dealing with a client who does not have much background in the Web. And so they may not be aware that you are actually able to pull their website down once it is up. This gentle flexing of muscle may be all the push-back you need to let them know that you are no push-over.
Once again, this route could incite an already agitated client to take drastic action against you, even though they are the one who violated the terms of the agreement. Also, if the client figures out how to get the website back and changes the password to lock you out, then you have lost your leverage. Unfortunately, this tactic is much easier to fix than a kill switch, so your advantage may not last long.
While this may work with some less experienced or resourceful clients, others will not be put off for long and will get things back on track with a quick Google search.
If you pick up on signs early on that your client may be difficult, one surefire way to keep them from withholding payment is to do a little withholding of your own. You always have the power to withhold the launch of the website until final or full payment is made. But you cannot just decide to do this at any point in the project; you would need to establish these terms at the beginning of the working relationship.
An obvious pro is that this tactic is more likely than others to preempt a client dispute. If the client knows up front that the product will not be fully delivered until they have made all payments, then they are less likely to attempt avoiding payment. It puts most of the power in your end and allows you to basically steer the project’s outcome.
Just as a contract can be a deterrent for some clients, stipulating that you will withhold delivery until payment is made can have a similiar effect. Some clients will not be entirely comfortable with the idea of paying for something that is not in their possession, especially if they are already operating outside of their element.
As far as your options go, this is one of the most effective. By simply refusing to deliver the product to the client, you maintain the upper hand.