Easy two way communication, cheap interface, very programmable / hackable.

Can have good user experience, don't have to be so close to the terminal.

I think Google's payments (before Google Pay) worked this way in India.