Almost universal, though people like street vendors don't take them. That's Visa and Master - Amex is far less widely accepted.
They're quite expensive for the merchants, more so than in the US etc, so your bargaining power will be greater if you take cash.
Travellers' cheques are also widely accepted, and give you almost the bargaining power of cash.