How to restrict user to chat with another user based on their payment and subscription?
From the DrupalChat project page:


  ... provides optional integration with ... Flag Friend module.


And issue # 936350 states:


  ... Would it be possible to show only friends from the Flag Friend module?


Since this issue has status closed(fixed), you should be able to use the Flag Friend module like so:


After the payment was completed, grant the user some permission to be allowed to "flag" the consultant the user paid for.
After such flagging is done, the user should be able to chat with such consultant.