To integrate with Google Wallet, the following basic functionalities must be implemented.
Terminals need to meet EMVCo Level 1 and 2 certification. For more details, see the EMVCo website.
Offline data authentication
To allow users quick passage through a terminal, transit terminals must support Offline data authentication (ODA). ODA is a cryptographic check that allows a payment terminal to perform offline authentication with a contactless payment card or mobile device. ODA provides a high level of trust that the card presented is genuine. It allows the transit gate to open without a need for the user to wait for the network to process the payment. ODA is also used when transit terminals are intermittently offline. When the transit terminal is back online, the payment is processed.
The ODA feature is ideal for transit stations that have terminals that aren't always online or have less-reliable connections. It's also used when payment processing time might slow the commuter down as they enter the gate. The gates usually open within 500 milliseconds of when the user taps their mobile device.
To use ODA, the transit terminal needs to be configured correctly. Contact your payment processor or system integrator for details on how to configure the terminals.
Google Wallet supports ODA for the following networks:
Polling and card clash
Physical NFC cards have a static UID. However, all Android mobile devices have a dynamic UID that changes on every transaction. This adds a level of privacy for users because it prevents tracking, but it can cause a "card clash," which is when transit terminals recognize more than one card in the NFC field.
As a user approaches a terminal with their phone, the NFC field strength increases and their device might start a transaction before the field is strong and stable enough to establish a connection. If the phone loses connection, it stops and retries the transaction. This causes the mobile device UID to change, and if the terminal is configured with card clash logic, it might falsely recognize more than one UID in a short span and stops the transaction. This situation is exacerbated when terminals with card clash logic have terminal polling speeds that are too high. To resolve this situation, either disable the UID card clash logic or lower the polling speed of the terminal.
AID select, PPSE, and ePPSE
For terminals that support both open loop and closed loop cards, it's best to set them up in the following order:
- All the closed loop cards that use AID select first.
- All open loop cards that use PPSE.
ePPSE is a new specification from EMVCo that helps provide information from the terminal to the mobile device about the type of transaction right before the transaction occurs. This allows the phone to choose a specific payment card, predefined by the user, for that particular type of transaction.
For transit, the user sets a default transit card. This card then overrides the default payment card on the transit terminals without the need for the user to switch cards at the time of tapping.
To support default transit cards, the terminal must support the ePPS specification. For more information, see the EMVCo specification.