Google announced earlier today that it's taking the plunge with the Google Pay branding, meaning the Android Pay and Google Wallet names and branding are officially canned. To go along with the shift, a new version of the Android Pay...err, Google Pay app is rolling out with an updated look. It's going to take a little while to get used to that name. There are also some clues about what's to come, but we'll get to that in the teardown.

What's New

Welcome to the all-new Google Pay. Actually, it's not all that new, but it was given a long overdue makeover. At first launch, you'll be greeted by a splash screen letting you know about the update, and it will quickly point out that your full list of cards and memberships are now located on a dedicated Cards tab.

Unlike the previous Android Pay layout, you'll now open the app to the Home tab, which contains a carousel of your payment cards at the top, followed by a scrolling wall of mostly removable banners telling you about the various ways you can use Google Pay and suggesting services that can also be linked. This is basically all of the extras from the nav drawer, but set out as a stream.

Left: v1.36. Right: v1.53.

Speaking on the nav drawer, some of the old promotional entries were taken out since they now fill the Home tab. The only remaining entries have gone basically unchanged. Even the Settings screen has the same options, but the order was slightly updated.

Left: v1.36. Right: v1.53.

If you're not into tapping on the Cards tab directly, you can also swipe across the feed on the Home tab. Google did away with the stacked cards design and shifted to a straightforward list. Payment cards are grouped at the top while everything else is still ordered below that. There's still no way to tag or organize cards.

Left: v1.36. Right: v1.53.

In case anybody is curious, the FAB menu has the same options, but the accent colors are now blue on white. Membership cards and reward programs have also been given some updated looks.

Above: v1.36. Below: v1.53.

At this point, the functionality of the app remains mostly unchanged. As Google already announced, the Google Pay app will be absorbing the current Google Wallet app at some point in the future. Once that happens, users will also be able to send and request money.

Teardown

Disclaimer: Teardowns are based on evidence found inside of apks (Android's application package) and are necessarily speculative and usually based on incomplete information. It's possible that the guesses made here are totally and completely wrong. Even when predictions are correct, there is always a chance that plans could change or may be canceled entirely. Much like rumors, nothing is certain until it's officially announced and released. Disclaimer: Teardowns are based on evidence found inside of apks (Android's application package) and are necessarily speculative and usually based on incomplete information. It's possible that the guesses made here are totally and completely wrong. Even when predictions are correct, there is always a chance that plans could change or may be canceled entirely. Much like rumors, nothing is certain until it's officially announced and released. The features discussed below are probably not live yet, or may only be live for a small percentage of users. Unless stated otherwise, don't expect to see these features if you install the apk.

Tickets and passes (Transit, for now)

While Google Pay (by the various names it has carried) can hold coupons, gift cards, membership cards, payment methods, and a couple of other things, it was never really designed well for ticket management. I'm talking about tickets and passes to get into concerts, ride a train, access an event, or any other type of thing that's usually single-use. It's not that some of those things can't be done with a little bit of manual entry, but they're not well-supported. That's one area where Apple's Passbook has been relatively successful.

There's no outward sign yet that Google Pay is making a move into supporting ticket management, but judging by a flood of new text and code, that's exactly what's about to happen. At this time, almost everything indicates that Google will be focusing on transit tickets to begin with.

It appears that tickets may be displayed with a price, expiration date, and an ID number. If they've been disabled remotely, they should also have a ticket status explaining the reason: Expired, suspended, or refunded. If needed, customers will be able to reorder tickets, as well.

strings Tickets & passes</string>

<string name="TransitAidGroupDescription">Google Pay Transit Application Ids</string>

<string name="ticket_header">Ticket</string>

<string name="ticket_deleted">Ticket successfully deleted</string>

<string name="ticket_details_button_label">Manage %1$s</string>

<string name="ticket_expiry_title">expires</string>

<string name="ticket_price_header">Price</string>

<string name="ticket_reference_id_header">Pass number</string>

<string name="ticket_undigitized">Ticket successfully deactivated</string> <string name="activate_ticket">Activate</string>

<string name="activate_ticket_label">Activate %1$s</string>

<string name="delete_ticket">Delete ticket</string>

<string name="delete_ticket_confirmation_message">You\'ll no longer be able to use it</string>

<string name="delete_ticket_confirmation_title">Delete your %1$s?</string>

<string name="multiple_tickets_label">%1$s tickets</string>

<string name="repurchase_ticket">Buy another ticket</string>

<string name="expired_ticket_label">Expired</string>

<string name="refunded_ticket_label">Refunded</string>

<string name="suspended_ticket_label">Suspended</string>

<string name="undigitize_ticket">Deactivate ticket</string>

<string name="undigitize_ticket_confirmation_message">You can always reactivate it later</string>

<string name="undigitize_ticket_confirmation_title">Deactivate your %1$s?</string> <string name="s2apt_activate_button_text">Activate</string>

<string name="s2apt_activate_one_ticket_and_deactivate_another_body">Only one ticket can be active at a time. You can always reactivate your other ticket later.</string>

<string name="s2apt_activate_one_ticket_and_deactivate_another_button_text">Activate</string>

<string name="s2apt_activate_one_ticket_and_deactivate_another_header">Activate your %1$s and deactivate your other ticket?</string>

<string name="s2apt_activate_saved_ticket_body">For security reasons, you\'ll only be able to use this pass on one phone.</string>

<string name="s2apt_activate_saved_ticket_button_text">Activate</string>

<string name="s2apt_activate_saved_ticket_header">Activate your %1$s on this phone?</string>

<string name="s2apt_already_digitized_on_this_wallet_error_header">Looks like your pass was already activated</string>

<string name="s2apt_invalid_intent">This item can\'t be saved to Google Pay at this time</string>

<string name="s2apt_pass_is_ready_to_use_header">This pass is ready to use with Google Pay</string>

<string name="s2apt_retryable_error_header">Couldn\'t save your pass to Google Pay</string>

<string name="s2apt_retryable_error_message">Please try again</string>

<string name="s2apt_server_error_header">Couldn\'t save your pass to Google Pay</string>

<string name="s2apt_server_error_message">You can try saving it again later</string>

<string name="s2apt_skip_activation_button_text">Skip Activation</string>

<string name="s2apt_view_pass_button_text">View in app</string> <string name="slowpoke_pass_type">Pass type:</string>

<string name="slowpoke_pass_end_date">End date:</string>

<string name="slowpoke_pass_price">Price:</string>

<string name="slowpoke_pass_start_date">Start date:</string>

<string name="slowpoke_zone_end_station">End station</string>

<string name="slowpoke_zone_start_station">Start station</string> <array name="transit_station_names">

<item>Unknown</item>

<item>S</item>

<item>W</item>

<item>C</item>

<item>H</item>

<item>F</item>

<item>B</item>

<item>M</item>

<item>MB</item>

<item>SE</item>

<item>O</item>

<item>I1</item>

<item>I2</item>

<item>N</item>

<item>Google</item>

</array> <activity android:name="com.google.commerce.tapandpay.android.transit.s2apt.TransitTicketPreviewActivity" android:autoRemoveFromRecents="true" android:taskAffinity="com.google.commerce.tapandpay.android.transit.s2apt" android:theme="@style/Theme.GooglePay.NoActionBar" />

<activity android:name="com.google.commerce.tapandpay.android.transit.tap.ui.TransitTapResolutionActivity" android:exported="true" android:permission="com.google.android.gms.permission.SEND_ANDROID_PAY_DATA" android:theme="@style/Theme.GooglePay.NoActionBar" android:windowSoftInputMode="adjustResize|adjustNothing">

<intent-filter>

<action android:name="com.google.commerce.tapandpay.android.transit.tap.ui.TRANSIT_FAILURE_ACTION" />

<category android:name="android.intent.category.DEFAULT" />

</intent-filter>

</activity>

<activity android:name="com.google.commerce.tapandpay.android.transit.TransitDisplayCardDetailsActivity" android:launchMode="singleTop" android:parentActivityName="com.google.commerce.tapandpay.android.home.HomeActivity" android:theme="@style/Theme.GooglePay.Transparent" />

<activity android:name="com.google.commerce.tapandpay.android.transit.TransitTicketDetailsActivity" android:theme="@style/Theme.GooglePay.Transparent" />

<provider android:name="com.google.commerce.tapandpay.android.transit.tap.imageprovider.TransitTapImageProvider" android:authorities="com.google.commerce.tapandpay.android.transit.tap.imageprovider" android:exported="true" android:readPermission="com.google.android.gms.permission.READ_VALUABLES_IMAGES" />

<receiver android:name="com.google.commerce.tapandpay.android.security.storagekey.StorageKeyReceiver" android:exported="false">

<intent-filter>

<action android:name="com.google.commerce.tapandpay.android.transit.tap.security.GET_STORAGE_KEY" />

</intent-filter>

</receiver>

<service android:name="com.google.commerce.tapandpay.android.transit.SyncTransitDisplayCardsTaskService" android:exported="true" android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE">

<intent-filter>

<action android:name="com.google.android.gms.gcm.ACTION_TASK_READY" />

</intent-filter>

</service>

<service android:name="com.google.commerce.tapandpay.android.transit.tap.imageprovider.TransitArtFetchTaskService" android:exported="true" android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE">

<intent-filter>

<action android:name="com.google.android.gms.gcm.ACTION_TASK_READY" />

</intent-filter>

</service>

<service android:name="com.google.commerce.tapandpay.android.transit.tap.service.TransitHceService" android:exported="true" android:permission="android.permission.BIND_NFC_SERVICE">

<intent-filter>

<action android:name="android.nfc.cardemulation.action.HOST_APDU_SERVICE" />

<category android:name="android.intent.category.DEFAULT" />

</intent-filter>

<meta-data android:name="android.nfc.cardemulation.host_apdu_service" android:resource="@xml/transit_aids" />

</service>

<service android:name="com.google.commerce.tapandpay.android.transit.transitbundle.TransitBundleCheckTaskService" android:exported="true" android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE">

<intent-filter>

<action android:name="com.google.android.gms.gcm.ACTION_TASK_READY" />

</intent-filter>

</service> /xml/transit_aids.xml

<?xml version="1.0" encoding="utf-8"?>

<host-apdu-service xmlns:android="http://schemas.android.com/apk/res/android" android:description="@string/HceServiceDescription" android:requireDeviceUnlock="false" android:apduServiceBanner="@drawable/img_tp_banner">

<aid-group android:description="@string/TransitAidGroupDescription" android:category="other">

<aid-filter android:name="A00000039656434103F1216000000000" />

</aid-group>

</host-apdu-service>

Perhaps the one functional detail that really stands out is regarding usage restrictions. Specifically, a ticket can only be activated on a single device. Security is given as the reason for this policy. It's not entirely clear if you're free to move a ticket to another device, thus deactivating it on the first device, or if it has to be reissued before activating on another phone. I'm also not sure if this applies to all tickets or if it's on a case-by-case basis.

Of course, this looks a lot like the other side of the same coin that is transit cards, which were discussed in a teardown just about three months ago, and will possibly launch in the TriMet in Portland-Vancouver area. If transit cards are implemented to cover locals, it makes sense to also take care of visitors that would only purchase one-time tickets or short-term passes.

Custom card art

Is the design on one or more of your cards ugly? Perhaps you'd like to swap in something a little more colorful or artistic? That might be an option soon. Two new strings were added with names suggesting there may be alternative card art coming to Google Pay.

<string name="card_art_group_default">Default</string>

<string name="card_art_group_food">Food Themed</string>

Only two art themes are currently named, default and food, but these are likely just samples to use for testing and development while an interface is designed for users. It's a safe bet that an assortment of other options will be added down the road. Hopefully this gives users some degree of control over each card rather than just picking a theme that applies to all of their cards.

Download

The APK is signed by Google and upgrades your existing app. The cryptographic signature guarantees that the file is safe to install and was not tampered with in any way. Rather than wait for Google to push this download to your devices, which can take days, download and install it just like any other APK.

Version: 1.53.186034020