Integration checklist

Use the following checklist to ensure you've completed all of the required steps in your Android integration.

About the test environment

Our test environment does not return live chargeable tokens in the PaymentData response, but the test environment allows us to test elements of your purchase:

  • Confirmation pages
  • Receipts
  • Billing address (optional)
  • Billing phone number (optional)
  • Shipping address (optional)
  • Email address (optional)

You will see an Unrecognized App error on the Google Pay payment sheet until your app has production access.

The value of the environment parameter from WalletOptions indicates whether the server is running in a production or in a test environment. The environment value can be one of the following:

  • WalletConstants.ENVIRONMENT_PRODUCTION
  • WalletConstants.ENVIRONMENT_TEST

For testing and development, use WalletConstants.ENVIRONMENT_TEST.

Testing your integration

Before submitting your integration to Google for validation in ENVIRONMENT_TEST, ensure that you've fulfilled the exit criteria for each functional and branding check below.

1. Basics

Ensure that all Google Pay transactions go through your regular risk input validation and checks, just like any other transaction that you handle.
Ensure that you have read and are ready to accept our Terms of Service. Registration with the Google Pay API requires that you have access to the account owner email address of your Android application.
Use the data received from the Google Pay API only for transaction processing. All other use cases require a separate, express consent from the user.
Confirm the payment card authentication and card networks accepted by your payment processor in your country.
If completing a DIRECT tokenizationSpecification type integration, you must annually rotate your public encryption key through the Google Pay Developer Profile and provide PCI Attestation to Google. PCI Attestation can be submitted in one of two forms: 3rd party/Qualified Security Assessor certified by the PCI Security Standards Council, and approved by an Approved Vendor or Qualified Assessor or a completed PCI DSS Self Assessment Questionnaire.

2. Branding testing

Use our approved assets and adhere to all elements of our Brand guidelines.
Ensure the Google Pay payment button only appears after your app has confirmed the user's ability to pay through the isReadyToPay() function.
Confirm that the displayed Google Pay payment button dimensions match similar buttons and elements on the page.
Choose an appropriate button based on the background color of the area where it will appear.

3. Functional testing

If requesting a CARD payment method type with CRYPTOGRAM_3DS card authentication, complete the Android device token test:

  1. Add an eligible card in the Google Pay Android application and check that your issuer is supported.
  2. Return to your integration.
  3. Click the Google Pay button.
  4. Validate that you see the added card with card art in the chooser.

If you have confirmed your processor supports CRYPTOGRAM_3DS card authentication, you may proceed even if CRYPTOGRAM_3DS card authentication is not available to you as an Android user or cardholder.

If requesting a CARD payment method type with PAN_ONLY card authentication, complete the cards on file test:

  1. If applicable, remove all cards from the Google Pay Android application.
  2. If applicable, remove all cards on file from pay.google.com.
  3. Return to your integration.
  4. Click the Google Pay button.
  5. Validate that you see the option to add a card.
  6. Add a card for a card network supported, as defined in allowedCardNetworks.
  7. Validate that you see the added card with a network logo in the chooser.

If you require a shipping address, test processing of the shipping address in varied states of completion:

  • Variances on a full name to be parsed into structured fields, such as John, John Doe, and Jane Doe Smith.
  • Accurately parse all address lines returned by the Google Pay API, which may exceed the total number of address lines typically collected in your standard checkout flow.
  • Verify that the returned country component of the address matches your site's supported shipping destinations. If you specified shipping restrictions, test that entering an unsupported shipping address is not allowed in the Google Pay payment sheet.
If you require a telephone number, test parsing and storing the telephone number to the data standards of your app using different formats such as +14155551212, 14155551212, (415) 555-1212.
Ensure that Google Pay is displayed on parity with other third party payment methods.
For users who do not have any payment information stored on their account within your app, Google Pay should be defaulted or shown prominently as the payment method.
For users who previously selected Google Pay at checkout and indicated Google Pay as their preference for payment within your app, Google Pay should be the default payment method for their subsequent purchase.
A final price must be displayed to the user before processing the transaction. If the amount to be charged has varied based on data received from the Google Pay API you are expected to show a confirmation page with a final price.
To expedite testing, enable test items for Google to purchase and provide instructions on how to access the Google Pay integration.

Requesting production access

After you validate that you've fulfilled the exit criteria for each check above, click Request production access to begin the process of obtaining production access.

Request production access

We evaluate your integration based on each check above and notify you of any errors found. If no errors are found, we provide further instructions for onboarding and testing in production.

Send feedback about...

Google Pay API for Android