The cancellation follows a wave of xenophobic attacks in South Africa.
Zambians have been taking to social media to urge the Football Association of Zambia to put off the game between Chipolopolo and Bafana Bafana as a sign of protest.
Faz chief Adrian Kashala has confirmed the decision, adding that the friendly has been rescheduled to an unspecified date after consultations with the South African Football Association (Safa).
Transport Minister Mutotwe Kafwaya urged Zambian drivers already in South Africa to park their vehicles in safe and secure designated places until the security improved.
The surge in attacks on immigrants has seen mobs loot many foreign-owned shops, torch vehicles and target lorries that were being driven by foreign nationals.
African governments have issued warnings to their citizens over the violence.