The Android Pay name has been dead for weeks, replaced by Google Pay for the foreseeable future. With the rebranding out of the way and the adjustment period starting to fade, it's time to get back to business as usual. The latest update looks a bit like a bug fixer since there don't appear to be any immediately visible changes after installing. However, a teardown gives a view of a new feature coming for prepaid accounts that will ensure they never run low on funds. Also, work continues on the effort to merge in Google Pay Send, formerly Google Wallet.


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.

Automatic reload a low balance

Prepaid cards and payment accounts can offer some great discounts and perks. They're especially popular for things like mass transit and high-traffic stores like Starbucks. Unfortunately, many of these systems don't offer an automatic refill option and have to be topped up regularly, which is both easily forgettable and just plain annoying.

Google Pay is preparing to add a new setting that will enable automatic reloading for these accounts when your balance gets too low. All you have to do is turn on the Autoload feature for an eligible account and pick a suitable minimum balance, then Google will add money to your account after any transaction leaves it with less money than the threshold you chose.

<string name="top_up_settings_activity_title">Autoload</string>
<string name="top_up_settings_button_label">Turn on autoload</string>
<string name="top_up_settings_description">Money will be automatically added to your card when it goes below a set balance</string>
<string name="topup_error_title_amount_too_high">Enter a lower amount</string>
<string name="topup_error_body_amount_exceeds_allowed_balance">The amount entered brings the total balance over the maximum allowed.\n\nError code: %1$s</string>
<string name="topup_error_body_amount_exceeds_single_txn_amount">The amount entered exceeds the limit allowed per transaction.\n\nError code: %1$s</string>

<string name="auto_top_up_notification_label">Notify me each time the card is autoloaded</string>
<string name="balance_threshold">Below %1$s</string>
<string name="balance_threshold_label">When to autoload</string>

<string name="se_setting_action_button">Turn it on</string>
<string name="se_setting_autoload_label">Smart Charge</string>
<string name="se_setting_balance_notification_label">Low balance notification</string>
<string name="se_setting_title">Balance Settings</string>
<string name="se_trans_type_transit_get_off">Get off</string>

<activity android:name="" android:launchMode="singleTop" android:parentActivityName="" android:screenOrientation="portrait" android:theme="@style/Theme.GooglePay.NoActionBar" />


<RelativeLayout android:padding="@dimen/default_spacing" android:layout_width="fill_parent" android:layout_height="fill_parent"
<RelativeLayout android:orientation="horizontal" android:id="@id/Toolbar" android:background="@color/googlepay_white" android:paddingBottom="@dimen/default_spacing" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:paddingStart="@dimen/narrow_spacing" android:paddingEnd="@dimen/narrow_spacing">
<TextView android:gravity="center" android:layout_gravity="end" android:id="@id/MainMessage" android:layout_width="wrap_content" android:layout_height="@dimen/minimum_touch_target" android:text="@string/top_up_settings_activity_title" android:paddingStart="@dimen/extra_large_spacing" android:paddingEnd="0.0dip" style="@style/Text_Label" />
<ImageButton android:layout_gravity="start|center" android:id="@id/CloseButton" android:background="@android:color/transparent" android:layout_width="@dimen/minimum_touch_target" android:layout_height="@dimen/minimum_touch_target" android:src="@drawable/quantum_ic_arrow_back_black_24" android:contentDescription="@string/close_button_description" />
<TextView android:id="@id/AutoloadDescription" android:paddingBottom="@dimen/default_spacing" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/top_up_settings_description" android:layout_below="@id/Toolbar" android:paddingStart="@dimen/extra_large_spacing" android:paddingEnd="0.0dip" style="@style/Text_Body" />
<FrameLayout android:id="@id/PaymentInstrumentContainer" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/AutoloadDescription" />
<FrameLayout android:id="@id/AmountInputContainer" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/PaymentInstrumentContainer" />
<FrameLayout android:id="@id/BalanceThresholdContainer" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/AmountInputContainer" />
<LinearLayout android:orientation="horizontal" android:paddingBottom="@dimen/default_spacing" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/BalanceThresholdContainer" android:paddingStart="@dimen/narrow_spacing" android:paddingEnd="@dimen/narrow_spacing">
<CheckBox android:id="@id/AutoTopUpSuccessNotification" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" />
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/auto_top_up_notification_label" />
< android:id="@id/SaveTopUpSettingsButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="@dimen/default_spacing" android:text="@string/top_up_settings_button_label" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:paddingStart="@dimen/large_spacing" android:paddingEnd="@dimen/large_spacing" />

You will get notifications each time one of these transactions is made, but that can be disabled if you prefer to have everything happen in the background.

This could save a lot of people from awkwardly fumbling for a credit card or cash once they realize they've forgotten to top up a transit card or didn't factor in an extra half sweet, non-fat, caramel macchiato.

Follow-up: Sending money to other people

There's no mystery that this one is coming, we already know Google Pay is merging its main app with the recently rebranded Google Pay Send app, formerly known as Google Wallet. This will put person-to-person payments into the same basic interface as in-store payments, although the functionality really is reasonably different.

The latest update adds a lot of text resembling what you'll find in the Google Pay Send app, and if you've used it, nothing here will surprise you. Most payments between people are taken from a bank account rather than a credit card, and the new version includes much of the text that will go into adding a banking account as a payment method. Also here is part of the resources that will go into a search UI for contacts. There's still plenty left to add, but this is an expected step toward merging the two apps.

<string name="request_money_button_text">Request</string>
<string name="send_title">Confirm payment method</string>
<string name="send_button">Confirm &amp; send</string>
<string name="send_money_button_text">Send</string>

<string name="add_payment_method_title">Add a payment method to continue</string>
<string name="add_payment_method_body">To send money to a friend, add a debit card or bank account. It\'s easy, fast, and free.</string>

<string name="suggested_contacts_title">Suggested</string>

<activity android:name="" android:exported="false" android:label="@string/google_pay" android:theme="@style/Theme.GooglePay.NoActionBar" />
<activity android:name="" android:theme="@style/Theme.GooglePay.NoActionBar" />
<activity android:name="" android:theme="@style/Theme.GooglePay.Transparent" />

<string name="add_payment_method_add_button">Add payment method</string>

<string name="action_add_bank_account">Add a bank account</string>
<string name="detail_row_bank_account_holder_name">Account holder name</string>
<string name="detail_row_billing_address">Billing address</string>
<string name="detail_row_contact_issuer">Contact %1$s</string>
<string name="detail_row_edit_bank_account_holder_name">Edit info</string>
<string name="detail_row_edit_billing_address">Edit billing address</string>
<string name="detail_row_privacy_policy">Privacy policy</string>
<string name="detail_row_set_nfc_default">Set as default for in-store</string>
<string name="detail_row_terms_conditions">Terms and conditions</string>
<string name="detail_row_tokenize">Activate in-store</string>
<string name="detail_row_verify_identity">Verify card for in-store</string>
<string name="detail_row_virtual_account_number">Virtual account number</string>

<string name="payment_method_dropdown_label">Payment method</string>
<string name="payment_method_cta_tokenize">Activate in-store</string>
<string name="payment_method_cta_yellow_path_fix">Finish in-store setup</string>

New layouts:

Follow-up: Wartortle shenanigans => Terrier & Husky

Not long after the rebranding, a subsequent update came out with an unusual reference to Wartortle. It looked a bit like a placeholder, or maybe even a joke. Well, that's probably what it was, because the Wartortle name is now gone... but the joke might not be over. Two new "companies" have come in to replace the oddball Pokemon, and this time we're switching to dog breeds: Husky and Terrier.

<string name="husky_company_name">Name service</string>
<string name="husky_name">Name</string>
<string name="husky_phonenumber_error">Enter 10 to 16 digits number</string>

<string name="terrier_company_name">Name service</string>
<string name="terrier_name">name</string>


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.