Page Summary
-
This page documents major changes to the Google Wallet Smart Tap protocol, organized by date.
-
Updates include protocol simplifications, new features like transit passes, and revised test tools and procedures.
-
The page also provides a history of draft documentation for previous Smart Tap 2.1 protocol versions.
-
Developers can find details on changes such as new service object types, updated merchant apps, and revised test configurations.
-
Key information for testing and certification, including ADB controls and required test suites, is also included.
This page lists the major changes to the Google Wallet Smart Tap protocol. The release notes are ordered and identified by date, and include descriptions of the changes.
2021-10-01
- Simplified the site structure
- Clarified that the terminal must support NFC A and NFC B
- Clarified that the terminal must comply with
ISO/IEC 14443andISO/IEC 7816-4 - Clarified that the terminal must take special care when performing automatic polling.
- Published a new version of the merchant app:
2.7.210610 - Removed the Terminal app, refer to the sample terminal code for ideas on how a terminal should work
- Removed the test config files, now tests are preloaded into the merchant app
- Added the default private test key as a separate file
- Greatly reduced the number of tests in the merchant app while keeping the same coverage
- Added tests to exercise the key version and the select OSE response optional fields
- Made tests more lenient when the are multiple accepted terminal behaviors
- Added checks in the merchant app to verify the NFC configuration
- Defined new Google Wallet tests for which we require video proof
- Added extra details to the reference documentation
2021-02-07
- Published new version of Smart Tap test tools:
merchantapp->2.6.32testconfigs->20210207
- Reduced the number of service object records used in tests that stress Get Additional Data (accommodates the fact that the max APDU size was reduced from 253 to 251 bytes)
2020-07-10
- Published new version of Smart Tap test tools:
merchantapp->2.6.31terminalapp->1.6.25testconfigs->20200710
- Deprecated tests
10.27and16.30 - Made validation independent of
zlibsupport - Fixed validation to allow optional fields even in tests that do not expect them
- Fixed validation to not require optional fields except in tests that specifically look for them
- Added tests
1.31and3.20for boarding passes - Added tests
1.32and3.21for transit passes - Made test names and expected terminal behaviours more accurate
- Fixed minor typos
2020-05-12
- Added new Service Object NDEF Record type:
Transit
2020-04-13
- Published the Google Wallet Smart Tap sample app
2020-01-30
- Published new version of
merchantapp->2.6.30 - Added measure for NFC session end time
2019-11-26
- Published new version of Smart Tap test tools:
merchantapp->2.6.29terminalapp->1.6.25testconfigs->20191126
- Deprecated tests:
7.1,8.3,8.4,10.28,10.29,16.31,16.32 - Changed Payment validation to just check for PPSE request and response
2019-10-03
- Added pseudo code for format parsing
- Changed first
SSRandNSRrecords in theSPRrecord fromOtoC
2019-07-26
- Added extra material to prepare for certification involving payment to Certify results
- Clarified Issuer NDEF Record structure
- Clarified Merchant ephemeral public key is in compressed format in the
negotiate smart tap sessioncommand
2019-04-05
- Added Android Debug Bridge (ADB) controls for the merchant app in Test the implementation
- Defined which test suites need to be completed for each feature implemented
- Made
push dataimplementation optional
2019-02-06
- Modified the merchant app
test_suite_*.jsonconfiguration files to support the following:- The
get additional datacommand can be five or six bytes long - Changed the default Collector ID set in validation to accept binary or BCD format
- Removed the
get additional datavalidation from files3.14to3.15and17.12 - Allowed balance update payloads to have
0padding in files5.10to5.13and5.20
- The
2019-01-18
- Added details on the expected materials you need to prepare to Certify results
2019-01-15
- Updated the merchant app to support a max APDU length of 253 bytes for Smart Tap 2.1
- Updated the merchant app test suites so that they're compatible with the new merchant app
2018-11-05
- Removed the trailing
0inSelect Mobile Wallet using OSE - OSE.VAS.01in APDU command overview
2018-08-30
- Added status code
9302in Status words
2018-08-27
- Published the online Smart Tap developer docs. For a list of changes made in prior versions of the protocol, see our Draft documentation history
Draft documentation history
This online Google Wallet Smart Tap developer documentation is the most up-to-date source of truth. The following list details previous draft versions of the shared Smart Tap 2.1 protocol:
- Revision 0.5, 2015-09-04 - First draft
- Revision 0.6, 2015-09-07 - Added transaction flow diagrams
- Revision 0.7, 2015-09-10 - Added APDU and Tags definitions
- Revision 0.82, 2015-09-24 - Updated miscellaneous features and cleaned up the presentation of the material
- Revision 0.83, 2015-09-25 - Updated Crypto, Security, and Tags
- Revision 0.91, 2015-10-02 - Updated to Cipher, Commands, and Flows
- Revision 0.92, 2015-10-26 - Added NDEF for data messages
- Revision 0.93, 2015-12-10 - Included Negotiate smart tap Secure Session
- Revision 0.94, 2016-01-13 - Updated
SELECT OSEand fixed issues with NDEF lengths - Revision 0.95, 2016-02-08 - Added
push datafields - Revision 0.951, 2016-02-17 - Clarified inputs for message signature
- Revision 0.952, 2016-02-18 - Fixed minor issues with session NDEF status and primitive record
- Revision 0.960, 2016-02-25 - Modified Handset public key to be returned in
the
negotiateresponse, removed PPSE service record, added wallet issuer ID to customer record, added signup service type for new service record, and clarified themore datastatus word - Revision 0.961, 2016-03-01 - Clarified terminal requirements and renamed
handsettomobile device - Revision 0.970, 2016-07-07 - Modified multiple features for smart tap 2.1, modified VAS over payment, clarified status words, and introduced chunking.
- Revision 0.971, 2016-07-28 - Finalized chunking and added POS Capabilities
Record to
push data - Revision 0.972, 2016-08-05 - Updated "get data response record bundle"
section and corrected
OSEresponse fields - Revision 0.973, 2016-08-30 - Added additional
OSEtags and status words9502,9404,9405, and9406 - Revision 0.974, 2016-09-29 - Added Master Nonce
- Revision 0.975, 2016-12-09 - Added cryptography key concept, added Appendix
C: Key management, clarified live auth, defined
9407and9408, clarified the byte ordering of transaction details, clarified "mdn" inclusion in the Record ID field, and clarified "oid" for the service status record - Revision 0.976, 2017-03-21 - Updated the expected terminal behavior descriptions for given status words and clarified the tap time performance requirement
- Revision 0.977, 2017-05-10 - Removed text-related formats from the primitive format types
- Revision 0.978, 2017-09-10 - Clarified the long-term key version format,
clarified when
negotiateis needed, clarifiedsignatureandIV, addedC3to theOSEresponse, and changedMERandSLRrecords in theSRQrecord fromCtoM - Revision 0.979, 2018-04-25 - Added two new Service Object NDEF Record types:
Event TicketandFlight