The tri-series hung in the balance after South Africa indicated they wanted to return home following a blast close to their team hotel here on Monday which killed seven people and injured eight.
"We are told the International Cricket Council (ICC) wants to have its own security assessment," South African media manager Gordon Templeton told reporters here on Tuesday.
"After discussions with Sri Lanka Cricket (SLC), we have decided to stay on in Colombo and will take part in the tri-series if the security clearance comes."
The ICC has three days to gauge the situation in the Sri Lankan capital before South Africa's first match in the series against India on Saturday, according to the revised schedule drawn up by the organisers.
The series gets underway on Wednesday with a day-night match between Sri Lanka and India at the Premadasa stadium.
The original series opener between South Africa and Sri Lanka, which was rained off on Monday and cancelled again on Tuesday following South Africa's reluctance to play, will now be held on August 29.
The final, earlier scheduled for August 29, will take place on September 2.
Each team plays the other twice in the league before the final. A reserve day has been kept aside for all matches in case of rain.
The Indian team decided against cancelling its tour following increased security and positive indications from the Indian diplomatic mission in Colombo.
Revised tri-series schedule:
Aug 16: Sri Lanka v India
Aug 19: India v South Africa
Aug 21: Sri Lanka v South Africa
Aug 24: Sri Lanka v India
Aug 26: India v South Africa
Aug 29: Sri Lanka v South Africa
Sept 2: Final