Holy crap - Google Wallet just dropped a bomb on everyone and announced that the service now supports Visa, MasterCard, American Express, and Discover. We sort of suspected something like this would happen, and Google has managed to do it by making Wallet payments partially cloud-based, as opposed to a fully embedded system.

This means Wallet will work offline for the actual payment (it stores an encrypted card ID in the NFC chip), but does require an active internet connection if you want switch payment options or add a new one. Your card should stick in the system once selected, and as long as it is selected, payment should continue to work offline. You can only have one card selected at a time, however.

We'd heard talk of a "hybrid" cloud / NFC system before, and it appears this is what Google had in mind. Google is using the Google Wallet MasterCard as a physical NFC intermediary of sorts with your regular credit cards.

We've come up with a basic explanation of how we're thinking this all works offline, though we aren't credit payment processors, so anyone with some more information on how these transactions are handled, feel free to chime in.

Wallet receives a request for a payment via NFC. Wallet then sends the MasterCard Virtual Card credentials to the payment terminal, along with the stored Card ID (your card) from the NFC chip.

The payment terminal sends those credentials to the MasterCard's bank (Bancorp) for payment authorization, along with the card ID stored on your device.

Bancorp forwards this to Google, and Google then attempts to authorize your selected Wallet payment card if the card ID checks out.

If it's successful, Google tells Bancorp to authorize the transaction.

If the transaction goes through, Google then charges your selected Wallet card for the amount of the transaction - all done, no device-side net connection needed.

We also have the APK here, if you want to mess around with it. Right now only some devices are supported (Google still has to partner with the carrier for the Virtual MasterCard to work, unfortunately), here they are so far:

Google Commerce Blog