Nationals from Maldives, Singapore and Seychelles can enter Sri Lanka and without an ETA/Visa.
Nationals from Cameroon, Ghana, Ivory Coast and Nigeria need to apply for a visa in advance at the neareast Sri Lankan embassy or mission.
Everyone else can apply for an ETA (Electronic Travel Authorization) prior to arriving. The ETA costs US$15 for SAARC countries and US$30 for everyone else. You can obtain the ETA on arrival but it will cost US$5 more.
Sri Lankan visas can be extended for up to three months without much difficulty.
A transit visa valid for up to 2 days is free.
ETA Sri Lanka
Emabssies and Consulates, Foreign and Sri Lankan.