The kaafir does not have to pay zakaah
Question

                Does the kaafir have to pay zakaah?.
Praise be to Allah.
    One of the conditions of zakaah being obligatory is that the 
    person who pays it should be a Muslim. The kaafir does not have to pay 
    zakaah, because Allaah says (interpretation of the meaning): 

    “And nothing prevents their contributions from being 
    accepted from them except that they 
    disbelieved in Allaah and in His Messenger”

    [al-Tawbah 9:54]

    al-Bukhaari (1458) and Muslim (19) narrated from Ibn ‘Abbaas 
    (may Allaah be pleased with him) the story of Mu’aadh being sent to Yemen, 
    in which the Prophet  (peace and blessings of Allaah be upon him) said: 
    “Let the first thing to which you call them be to worship Allaah (alone) … 
    if they do that, then tell them that He has enjoined upon them the zakaah on 
    their wealth, to be given to their poor…” So he made Islam a condition of 
    zakaah being obligatory, and they were not to be enjoined to pay zakaah 
    until they entered Islam. 

    And the Sahaabah (may Allaah be pleased with them) did not 
    take zakaah from the dhimmis, rather they levied the jizyah on them.  

    If a kaafir becomes Muslim, he does not have to pay zakaah on 
    the years when he was a kaafir, rather he should calculate a whole year from 
    the time when he became Muslim, because Allaah says (interpretation of the 
    meaning): 

    “Say to those who have disbelieved, if they cease (from 
    disbelief), their past will be forgiven”

    [al-Anfaal 8:38]

    al-Nawawi said in al-Majmoo’ (5/300): Zakaah is not 
    required of a kaafir who is originally a kaafir, whether he is a harbi or a 
    dhimmi, so he should not be asked to pay it when he is still a kaafir. But 
    if he becomes Muslim, he should not be asked for zakaah for the time when he 
    was a kaafir. 

    Shaykh Ibn ‘Uthaymeen (may Allaah have mercy on hi) said in
    al-Sharh al-Mumti’ (6/15): No zakaah is due from a kaafir, whether he 
    is an apostate or was originally a kaafir, because zakaah is a purification. 
    Allaah says (interpretation of the meaning): “Take 
    Sadaqah (alms) from their wealth in order to purify them” [al-Tawbah 9:103].  
    But the kaafir is najis (impure) and even if he were to spend and fill the 
    earth with gold, he would not become pure until he repents from his kufr. 
    End quote. 

    What is meant by the impurity of the kaafir is spiritual 
    impurity due to the corrupt nature of his beliefs. This cannot be purified 
    by anything except Islam. 

    And Allaah knows best.