Reputation: 4055
I am working on a wallet type application and would like to see where to look for some outline of how the phone and the POS system communicate. I have to assume that since google wallet can talk to generic POS terminals that there must be some spec for it.
Any help greatly appreciated.
Upvotes: 3
Views: 4207
Reputation: 78965
NFC has two aspects that are often intermingled:
NFC is a contactless mean of communication.
NFC on mobile phones is combined with a secure element container.
If you want to implement a point of sale (POS) payment system, you basically have two options:
Try to stay as close to the current payment infrastructure as possible. To that end, the mobile phone has to emulate a contactless credit card and implement the EMV (Europay Mastercard Visa) standard. And you'll need to load a secure element into the secure element container. That way you can use the mobile phone wherever a contactless credit/debit card is accepted. However, card emulation mode is not accessible to Android apps. It's restricted to special apps that are part of the operating system (Google Wallet). And loading a secure element into the container requires a cooperation with the mobile network operator (MNO).
Build your own payment system and use NFC as a contactless communication channel only. In that case, you don't need any special operating system or MNO support. However, you'll probably need a new or modified payment terminal that will be connected to the cash register software. The secret key for identifying the consumer will most likely be stored on your central payment server. If you want to store it in the SE container, you'll again need the support of the MNO because only MNO sanctioned apps can access the SE container.
The answer is somewhat biased towards Android. But since the iPhone doesn't support NFC, that's by far the most relevant operating system for wallet apps.
Update
The iPhone now has NFC communication. However, it is not open to third-party app. Apple itself implements EMV and FeliCa (for Japan).
Upvotes: 3
Reputation: 1783
Have a look at the EMV specifications. As far as I know, the secure element used in Google Wallet payments is a contactless smartcard (that happens to be embedded in a mobile device) adhering to these specs.
Upvotes: 2