Why not simply accept contact-less payment from mobile phones via something like NFC? And use the stupid metro-only cards as a backup? Speaking from a US perspective...
That would make the most sense but you'd probably have to set up your own payment network as the major ones charge 30 cents per transaction which makes it uneconomical for small fares.