Google Play Store

Step-by-step guide for creating your Play service credentials

In order for RevenueCat's servers to communicate with Google on your behalf, you need to provide a set of service credentials. The process for configuring these credentials is a bit complex, but the added level of control improves security by providing RevenueCat with only the access we need.

📘

Credentials can take up to 36 hours after being created to be valid

It can take up to 36 hours for your Play Service Credentials to work properly with the Google Play Developer API. You may see "Invalid Play Store credentials" errors (503 or 521) and be unable to make purchases with RevenueCat until this happens.

There is a workaround to get this validated sooner. In Google Play Console, open your app's dashboard and visit the 'Monetize' section. Go to Products -> Subscriptions/in-app products, and change the description of any product and save the changes. This should work to enable the new service credentials right away (or very shortly) and you can revert the changes to that product. It's not guaranteed to work, but has worked for others in the past to get things working right away. Otherwise, it usually starts working within 24 hours but possibly up to 36.​​

Setup

1. Link to a Google Cloud Project

Your Google Play Developer account needs to be linked to a Google Cloud Project.

1a. Open the Setup dropdown in the sidebar menu and select API access

560

1b. Select Link to connect your Google Play account to a Google Cloud Project

1075

1c. Agree to the terms and conditions

691

2. Create a Service Account

Next we need to create a service account. This is done from the Google Play Console.

2a. Select Create new service account

787

2b. Follow the link to the Google Cloud Console

644

2c. Create the service account key credentials

657

2d. Name the service account and add a Pub/Sub Admin Role

These are the credentials that RevenueCat will need to communicate with Google. After filling in the details, select Create and Continue.

573

Add two Roles:

You can skip the optional third step, Grant users access to this service account, by selecting Done.

1010

2e. Create and download the public key

In the Google Cloud Console, select Actions > Manage keys.

1010

Select ADD KEY > Create new key.

1013

Make sure JSON is selected and select Create to create and download the JSON key.

651
784

The downloaded JSON key is what you will need to enter in RevenueCat in step 4.

3. Grant Financial Access to RevenueCat

3a. Back in the Google Play Console, select Grant Access (under Setup > API Access) on the newly created RevenueCat service account

You are all done with the Google Cloud Console. Switch back to the Google Play Console and select Grant access for the newly created service account. If you do not see the service account you created, try refreshing the page.

1448

This is in the Google Play Console.

3b. Grant the following permissions:

  • View app information and download bulk reports (read-only)
  • View financial data, orders, and cancellation survey responses
  • Manage orders and subscriptions
1158

3c. Select Invite User at the bottom of the page and send the invite

490

You will be redirected to Users and Permissions where you should see your newly created service account as Active.

3d. Apply permissions to your apps

In the Users and Permissions section, select the service account and add your apps to the account. Select Apply on the sheet that appears.

450 850

❗️

Don't forget to Save Changes after applying the permissions!

851

4. Enter the Credentials JSON in RevenueCat

Copy and paste the credentials JSON that was downloaded in step 2 into your app settings in the RevenueCat dashboard. You can find your app under Project Settings > Apps. Now we'll be ready to handle Google Play purchases!

1872

This configuration is in the settings of your app.

❗️

400 error when connecting to Google

If you're getting a 400 error when connecting to Google for Platform Server Notifications from the RevenueCat dashboard, ensure you've enabled Pub/Sub for your project in our guide here.