Add subscriptions & recurring charges

Using the Google Play In-app billing API, you can add recurring charges and subscription billing to your app. You can configure subscription features using the Google Play Developer Console.

With subscriptions, you can add products that charge users for content or services on a recurring basis. You can offer multiple subscriptions within the same app.

Here are the time periods available for subscriptions:

  • Weekly
    • At this time, weekly subscriptions can’t be charged using direct carrier billing.
  • Monthly
  • 3 months
  • 6 months
  • Seasonal (defined start and end dates)
  • Annual

Note: Subscriptions must be priced greater than $0 and the price of a subscription can't be changed. Subscriptions can't be unpublished.


You can offer trials for weekly, monthly, 3 months, 6 months, and annual subscriptions, but not seasonal subscriptions.


Subscriptions are available to purchase on all Google Play clients version 3.5+ and higher in countries where in-app billing is supported.

Add a subscription to your app

The In-app billing version 3 API has been expanded to support in-app subscriptions. If you use in-app subscriptions, it's best to migrate to In-app billing version 3 API to take advantage of the API's new features.

Adding a subscription is very similar to adding a regular in-app product, except the price is set to per month, per season, or per year. Here's how to add a subscription using the Google Play Developer Console.

  1. Sign in to your Google Play Developer Console.
  2. Click All applications All Applications.
  3. Select your application.
  4. On the left menu, click In-app Products.
  5. Select Add New Product.
    • To add in-app products, you need to have the BILLING permission on your APK.
  6. Select Subscription.
    • If you're adding a seasonal subscription, you need to add a start and end date.
  7. Add the In-app product ID.
  8. Click Continue.
  9. Type any additional parameters.
  10. Click Save.
Upgrade or downgrade existing subscription plans

With in-app subscriptions, you can add the ability for users to upgrade or downgrade their existing subscription to another plan your app offers, like changing from a monthly to an annual subscription or upgrading from a basic to a premium subscription. Giving your existing subscribers the ability to change their plan can be a great way to retain customers and introduce new subscription products.

Users won’t be given a refund for their old plan. To account for unused time remaining on their existing subscription, the first charge of their new subscription plan will be pushed out.

Grace period for declined payments

By adding a grace period to your subscriptions, you can give your subscribers the chance to update their payment method if a recurring payment is declined. This can be useful if your subscribers have an expired credit card, subscribed using a prepaid card, or canceled a card without updating their payment information.

At the start of a grace period, your subscribers are notified of a declined payment by email and have time to update their payment method without interrupting their subscription.

Note: Once your subscribers update their payment method to a valid form of payment, their next subscription billing date stays the same.

For new subscription products created after April 28, 2015, the following grace periods are set by default:

  • Weekly subscriptions: 3 days
  • Other subscription periods: 7 days

Change a grace period

You can change the grace period (3 days or 7 days) for individual subscriptions or turn off grace periods on your subscription’s page on the Google Play Developer Console.

  1. Sign in to your Google Play Developer Console.
  2. Select your app.
  3. On the left menu, click In-app products.
  4. Select a subscription.
  5. Change your grace period settings.

End of grace period

If your subscribers’ payment method is still declined by the end of the grace period, they’ll be notified that their subscription is canceled and lose access to their subscription content.

Trial subscriptions

To offer trial subscriptions to your users, you need to set a trial duration per subscription SKU.

  • Trial prices are always $0.
  • Duration must be greater than or equal to 7 days.
  • Trials are not available for seasonal subscriptions.

Note: Users will be billed on the day following the end of the trial period.

A user can only use a trial to a specific subscription product one time. Also, when a user cancels their trial, they'll lose access to the subscription at the end of their trial period.


When a user cancels a subscription, they aren’t granted a refund. Instead, they have access to their purchased subscription until the end of the prepaid subscription period.

To help users who cancel a subscription and want to subscribe again, you can add the ability for users to resubscribe without having to wait until the end of their existing subscription period. When a user resubscribes before the end of their existing subscription period, because their subscription is already paid for, it is displayed as a $0.00 charge.

Note: Each subscription must be supported as long as it has at least one active user. If a developer doesn’t support subscriptions with active users, it will result in the suspension of the developer’s account, in addition to refunding the user’s subscription using the developer’s account.

Was this article helpful?