As far I know NFC tags are quite simple. They contain small amount of data, from several bytes to few kilobytes. NFC / RFID readers receive that data. They can also write back some data to read it later.
I thought that NFC payments are more secure than traditional magnetic cards where whole security is based on one secret number.
So how do NFC payments are implemented? I am especially interested in implementations which we'll have on Android devices. Please describe only high level algorithm.