Guys,
Many thanks to your reply
@VG: I do specify what happened if the contract is breached. One of them is to terminate the contract. However, like you said, what makes it harder for me to talk to the client is to the fact that we don't give a tangible product to him. Things like this maybe something that I have to anticipate in the future. Your comment is really helpful. Thanks!
@FreeStylencer: True! And it's also a situation that I can learn from. Good education for me
@Lowengard: One thing that I can see is that I need to improve my communication to all clients in general. I need to be more transparent to what's going on. If the client keeps doing the same thing again in this month, I have to terminate the contract. Because it's kind of "rewarding" him if i keep tolerating the "abuse" that he did to me. But yeah, your insight is really helpful, thanks a lot bro!