Once development nears completion, the integrator and Google can start the certification and launch
process. The launch process consists of end to end testing across devices and
form factors.

Testing will occur in three phases:

- Integration testing
- Finance testing
- Dogfood

Some of the phases can overlap such as integration and finance testing.

Once testing is complete and both parties are satisfied with the integration,
staged launch can occur.

## Integration testing

The purpose of integration testing is to verify that all API requests/responses and user experiences are
handled correctly. The list of tests that Google will perform can be found in
the [integration testing doc](https://developers.google.com/pay/carrier-wallets-v1/guides/testing-and-launch/testing).

Google will run through the
relevant tests from the [testing spreadsheet](https://docs.google.com/spreadsheets/d/1A7oEJf52jb7jiczGNQ6mdRB-MmRUm3vFpHC9GEM6pBs/template/preview).
You should make a copy of the [testing spreadsheet](https://docs.google.com/spreadsheets/d/1A7oEJf52jb7jiczGNQ6mdRB-MmRUm3vFpHC9GEM6pBs/template/preview) to track your
testing progress. Initially these tests should be performed using the [Google Standard Payments Testing Tool](https://amplecash-6b151.appspot.com/tester.html).
Once Google configures the integrator in production, the integrator should complete end to end tests using Google Play.

While not strictly defined in this document, the integrator should test across a
variety of mobile devices from different manufacuturers and Android versions.
The integrator must also test to ensure that their production environment meets
the SLA agreed to in the contract.

The integrator and Google will set up weekly meetings during this period to debug
issues and answer any questions. Additionally, Google will create a hangouts
group for low response time chats. The integrator and Google should set up some overlap working time to ensure that
questions and bugs are resolved in a timely manner.

Google will test the integration in two environments:

- Google sandbox -\> integrator sandbox
- Google prod -\> integrator prod

For each environment the integrator is expected to provide:

- API end point URLs
- Sample accounts preloaded with funds
- APK for authorization if necessary

To test their endpoints the integrator can use the
[Google Standard Payments integration testing tool](https://amplecash-6b151.appspot.com/tester.html).
Once ready, Google will enable the production configuration so allowlisted
users to see the payment method on Google properties.

## Finance testing

Finance testing consists of verifying both that the integrator is able to
successfully remit to Google and that Google is able to automatically match the
payment.

As part of testing, Google asks the integrator to perform five different
remittance scenarios:

- Successful match with memoLineId
- Overpay
- Underpay
- Overpay \> 5%
- Underpay \> 5%

Google will send the integrator several `remittanceStatementNotification`s, and the integrator should pay
according to one of these scenarios. Google will notify the integrator beforehand
to initiate the finance testing flow.

Once both parties are ready, dogfood testing can begin. Finance testing can
also occur during dogfood if timelines are compressed.

## Dogfood

Dogfooding allows Google and the integrator to test real world end user experience. Google will enable the
form of payment on Google properties such as Play for Googlers. This enables local testing across
a mix of devices, connections and OS versions.

Dogfood testing must occur in both the integrator's and Google's production environment.

Dogfood typically occurs for two weeks before launch. During this period the
integrator and Google can expect to have daily syncs on the status of outstanding issues.

By the end of dogfood all launch blocking issues should be resolved.
Dogfood can be extended if additional testing or fixes need to occur.

Once all three phases have been successfully completed, testing and certification
is complete.

## Launch

Both the integrator and Google need to give approval for launch.

Launch will start with a 1% roll out. Rolling out to 100% typically takes one
month with the following roll out stages each lasting about a week.

- 1% - Test for device issues
- 5% - Widen pool of users and devices
- 10% - Test for revenue impact
- 50% - Test for scalability
- 100% - Full launch