This topic lists and defines key terms and phrases that are relevant to Google Play Billing.
You can use Google Play Billing to sell the following types of digital content:
One-time products: A one-time product is content that users can purchase with a single, non-recurring charge to the user's form of payment. Examples of one-time products include additional game levels, premium loot boxes, and media files. One-time products are either consumable or non-consumable:
- Consumable product: A consumable product is one that a user consumes to receive in-game content. When a user consumes your product, you dispense the associated benefits or effects in a process known as provisioning. For example, a user might purchase an in-game currency product such as a stack of coins. When the user consumes the product, your app then dispenses a fixed number of coins to the user, and the purchased stack of coins product is no longer available. Consumable products can be purchased multiple times.
- Non-consumable product: A non-consumable product is a product that is purchased once and provides a permanent benefit. Once purchased, these products are permanently associated with the user's Google account. Examples of non-consumable products include premium upgrades and level packs.
The Google Play Console refers to one-time products as managed products, and the Google Play Billing library refers to them as "INAPP" products.
Subscriptions: A subscription is a product that provides access to content on a recurring basis. When a subscription period ends, the subscription renews automatically, and the user incurs an additional charge to their form of payment. Subscriptions are renewed indefinitely until they are canceled. Examples of subscriptions include access to online magazines and music streaming services.
The Google Play Console offers a lot of flexibility when creating subscription products. As examples, you can set the billing period, offer a free trial, offer an introductory price, provide grace periods when payment fails, and allow users to pause their subscriptions as an alternative to canceling. For more information and a complete list of subscription features, see Implement subscription-specific features.
You can offer multiple subscriptions within the same app. Note, however, that all subscriptions must be priced within accepted prices ranges, and subscriptions can't be unpublished.
The Google Play Billing Library refers to subscriptions as "SUBS".
Technologies and concepts
This section lists and describes high-level technologies and concepts that you might encounter when implementing a Google Play Billing solution. Be sure to familiarize yourself with each item in this section before continuing.
- Google Play: Google Play is an online store where users can download apps and other digital products.
- Google Play Console: The Google Play Console provides an interface where you can publish your app to Google Play. The Google Play Console also shows details about your app, including any products or content that you sell with Google Play Billing.
- Google API Console: The Google API Console manages backend APIs, such as the Google Play Developer API.
- Google Play Billing Library: The Google Play Billing Library is an API that you can use to implement a Google Play Billing solution for your app.
- Google Play Developer API: The Google Play Developer API is a REST API that you can use to programmatically handle publishing and app-management tasks.
- Cloud Pub/Sub: Cloud Pub/Sub is a fully-managed real-time messaging service that enables you to send and receive messages between independent applications. Google Play Billing uses Cloud Pub/Sub to deliver Real-time developer notifications. To use Cloud Pub/Sub, you must have a project on the Google Cloud Platform (GCP) with the Cloud Pub/Sub API enabled. If you aren't familiar with GCP and Cloud Pub/Sub, see the Quickstart guide.
- Real-time developer notifications: Real-time developer notifications lets you monitor state changes for Google Play-managed subscriptions in real-time by leveraging Cloud Pub/Sub.
- Secure backend server: As part of a Google Play Billing implementation, we strongly recommend that you use a secure backend server to implement billing-related tasks such as purchase verification, subscription-specific features, and handling Real-time developer notifications.
- Google Play Store app: The Google Play Store app manages all operations related to Google Play Billing. All requests made by your app are handled by the Google Play Store app.
- Flow: A flow shows the typical steps involved in a Google Play Billing-related task. For example, a purchase flow outlines the steps involved when a user purchases your product. A subscription flow might show how a subscription transitions between states.
- Entitlement: When a user purchases an in-app product, they are then entitled that product within your app. For one-time products, this means that the user should now have permanent access to the product. For subscriptions, this means that the user should have access while the subscription is active.
- Product SKU: A product SKU is the ID of a specific product type.
- Purchase token: A purchase token is a string that represents a buyer's entitlement to a product on Google Play. It indicates that a Google user has paid for a specific product.
- Order ID: An order ID is a string that represents a financial transaction on Google Play. An order ID is created every time a financial transaction occurs. This string is included in a receipt that is emailed to the buyer. You can use the order ID to manage refunds in the Order Management section of the Google Play Console. Order IDs are also used in sales and payout reports.