Withholding zakat is a grave sin but it does not mean that the person is an unbeliever. They are liable to punishment and zakat could be taken from them by force until they submit to God’s commands.
A person who does not pay zakat out of greed, while recognizing that it is obligatory, commits a grave sin but is not considered an unbeliever. Zakat is an aspect of faith, but its non-fulfilment does not take a person out of the faith. In reference to the one who withholds zakat,
:the Prophet (peace be upon him) said
‘He will then take his way, either to heaven or to hell.’
Related by Muslim, hadith No. 987
The possibility that he may go to heaven means that he is not an unbeliever. Such a person is liable to punishment and zakat is taken from him by force. If he fights to withhold it, he is fought until he submits to Allah’s command and pays his zakat.
‘Yet if they should repent, establish prayer and pay the zakat, let them go their way. For Allah is Forgiving and Merciful.’
:Abu Bakr said
‘By Allah, if they deny to pay out a young goat, less than a year old, which they used to pay to Allah’s messenger, I would fight them for it.’
Related by al-Bukhari, hadith No. 1,400; Muslim, hadith No. 20