Google Play Billing for OTT app
Google Play Billing for OTT app on Flicknexs: purchase tokens verified against Google, developer notifications decoded server-side, product IDs mapped.
Flicknexs verifies Google Play purchase tokens against Google, listens for real-time developer notifications on the server, and maps Google product identifiers to the plans and pay-per-view titles defined in the admin.
Trusted by industry leaders
50+ OTT platforms powered by Flicknexs
Quick answer: Google Play Billing for OTT app means the Android app sells subscriptions and single titles through Google Play, with Google collecting the money at the store's published fee. On Flicknexs the platform verifies each purchase token against Google, decodes real-time developer notifications on the server, and maps Google product IDs to plans and pay-per-view titles.
Flicknexs provides google play billing as part of its white-label OTT platform. Flicknexs verifies Google Play purchase tokens against Google, listens for real-time developer notifications on the server, and maps Google product identifiers to the plans and pay-per-view titles defined in the admin.
Why Google Play Billing needs server-side verification
An Android app that sells content has to answer a question the web checkout never asks: did this purchase really happen on Google's side, or did a modified client claim it did. Google issues a purchase token for every transaction, and the only trustworthy check is to present that token to Google from your own server and read what Google says about it. An operator also needs to know when a subscription renewed, was canceled or expired, without polling. Google provides that as real-time developer notifications delivered through a message queue.
Flicknexs implements both halves. When the Android app completes a purchase through Play Billing, it sends the purchase token and product identifier to the platform, which verifies the token against Google before recording the purchase and granting access. Separately, the platform subscribes to the real-time developer notifications for your app, decodes each message on the server, and handles the subscription renewed, canceled and expired types so the subscriber record follows Google's state. The admin maps Google product identifiers to pay-per-view titles, and subscription products correspond to plans.
The rules on when an Android app must use Google Play's billing system, what alternative billing arrangements exist in particular regions, and how subscription states are defined are written by Google in the Google Play Developer Program Policies, in its payments policy, and in the Google Play Billing documentation. This page describes what the platform does with a Play purchase and a notification; it does not decide policy for your app. Read Google's payments policy for your markets before choosing a sales model, and re-read it when Google updates it.
What the Google Play Billing integration does on Flicknexs
Each row is behavior present in the Flicknexs Android app and payment service on the date checked, named the way Google names it.
Play Billing purchases
The Android app sells subscription plans and pay-per-view titles through Google Play Billing, charged to the viewer's Google account.
Token verification
The platform presents each purchase token to Google from the server and records the purchase only if Google confirms it.
Real-time notifications
Developer notifications for your app are delivered through Google's message queue and decoded on the server.
Renewed, canceled, expired
Those subscription notification types update the subscriber record so access follows Google's state.
Product ID to title
Each pay-per-view title in the admin can carry the Google product identifier that sells it.
Product ID to plan
Subscription products in Google Play Console correspond to the plans defined in the admin.
Store pricing
The price the viewer sees is Google's price for that product in their country, set in Play Console.
Revenue reports
Verified Play purchases appear in the monthly subscription and pay-per-view revenue reports alongside web and iOS sales.
Source: Flicknexs platform documentation and architecture specification, 2026-09-03.
How a Google Play purchase is verified and tracked on Flicknexs
From the product in Play Console to a subscriber record that follows Google's subscription state, this is the path a purchase takes.
Products live in Google Play Console
The admin maps identifiers to titles and plans
Play Billing runs the purchase and issues a token
The server verifies the token against Google
Real-time developer notifications keep state current
What stays with Google
Setup for Google Play Billing, from Play Console to the admin
Five steps in order. The first three happen in Google's tools; the last two in the Flicknexs admin and the app build.
- 1
Set up a merchant account and the products
In Google Play Console, complete the merchant and payments profile so Google can pay you, then create a subscription product with base plans for each plan you sell in the app and a one-time product for each pay-per-view title. Choose prices per country. Note each product identifier; you will map them in the admin.
- 2
Create the service account for verification
In Google Cloud, create a service account, grant it access to your app's financial data in Play Console, and download its credentials. The platform uses those credentials from the server to verify purchase tokens. Keep the credentials private and give them to the Flicknexs team through the secure channel agreed at onboarding, never in a ticket.
- 3
Enable real-time developer notifications
Create a message-queue topic in Google Cloud, grant Google Play permission to publish to it, and enter the topic name in the monetization setup section of Play Console. Send the test notification Play Console offers and confirm the platform receives and decodes it. Until this step is done, subscription changes will not reach the platform.
- 4
Map product identifiers in the admin
Open each pay-per-view title you intend to sell in the Android app and enter its Google product identifier; confirm each plan is matched to its subscription product. Titles and plans without a Google identifier are not offered for purchase inside the app, which is how you keep particular content web-only.
- 5
Test with license testers, then release
Add license tester accounts in Play Console, install an internal test build, and buy a plan and a title. Confirm the token verifies, the subscriber record updates, the content opens on the device and on the website with the same account, and that canceling the test subscription produces a canceled notification. Then release and check one real low-priced purchase.
Limits and what Google Play Billing on Flicknexs does not do
The boundaries of the current build, so the launch plan is made against what exists.
Three notification types are handled
Prices and offers are set in Play Console
Coupons do not apply inside the app
Notifications depend on your Google Cloud setup
Google's rules decide when Play Billing is required
Worked example: a church network selling through Google Play
Checklist before you sell through Google Play Billing
Run every line with a license tester account on an internal test build, then repeat the purchase line once with a real account after release.
- The merchant and payments profile in Play Console is complete so Google can pay you, and the app is set up for in-app products.
- Every plan sold in the app has a subscription product with a base plan in Play Console, matched to the plan in the admin.
- Every pay-per-view title sold in the app has a one-time product in Play Console and its identifier on the title in the admin.
- The service account has access to your app's financial data and its credentials have reached the platform through the agreed secure channel.
- The real-time developer notification topic exists, Google Play can publish to it, its name is in Play Console, and the test notification was received.
- A license tester purchase of a plan verifies against Google, marks the plan active on the subscriber record, and opens the content.
- A license tester purchase of a single title verifies, records a pay-per-view purchase with the window set on the title, and opens playback.
- Canceling the test subscription produces canceled and then expired notifications that end the plan on the subscriber record at the right time.
- Your support desk knows that refunds are granted by Google in Play Console and that coupon codes do not apply on Google's purchase sheet.
- Your team has read Google's payments policy for your markets and knows which content the app may and may not sell outside Play Billing.
Google Play Billing beside web checkout and the other apps
Which plan includes Google Play Billing
Standard layers
Pricing & billing
Annual savings
Conclusion: what to do next
Already on Flicknexs
Choosing a platform
Before a rights call
Frequently Asked Questions
Everything you need to know about Google Play Billing on Flicknexs.
Yes, on any plan that includes the Android app, with no share taken by Flicknexs. Plans are flat fees and Flicknexs takes no commission on your revenue; payment-gateway fees are between you and your gateway. See our pricing page for current plan and pricing details. Google deducts the store's published fee before paying you.
The Android app sends the purchase token and product identifier to the platform, which presents the token to Google from the server using your service account and records the purchase only if Google confirms it. Real-time developer notifications then keep the subscription state current.
Google decides that in the Google Play Developer Program Policies and its payments policy, which also define alternative billing programs in particular regions and change over time. Flicknexs implements the purchase and verification but does not interpret Google's policy for your app; read it for your markets.
Any plan that includes the Android app. F2 Super includes 300 GB of storage and 20 TB of bandwidth yearly, and adds native Android and iOS mobile apps; see our pricing page for current plan and pricing details. The web-only plans sell through web gateways instead.
Renewed, canceled and expired. A renewal keeps the plan active; a cancellation or expiry ends the plan on the subscriber record when Google says the subscription is over. Other notification types are visible in Play Console but are not acted on in the current build.
Purchases still verify by token and access is still granted, but renewals, cancellations and expiries will not reach the platform. Create the topic, grant Google Play permission to publish, enter it in Play Console, and send the test notification to confirm delivery.
In Google Play Console, per country. The viewer sees Google's price for that product. Changing a plan price in the Flicknexs admin changes only the web price; the admin holds the product identifier mapping, not the Play price.
Yes. The verified purchase is recorded on the viewer's account, so the same sign-in on the website, the iOS app, the Android TV app or the Fire TV app sees the plan as active. The store fee applied once, on the Play purchase.
Yes. Create a one-time product in Play Console and enter its identifier on the pay-per-view title in the admin. The app offers it through Play Billing, the platform verifies the token, and the purchase is recorded with the viewing window set on the title.
No. Promotion codes and the global coupon setting apply only on Stripe checkout on the web. There is no code field on Google's purchase sheet. Discounts for Android buyers are Play offers configured in Play Console under Google's rules.
Add license tester accounts in Play Console, install an internal test build, and buy a plan and a title. Confirm the token verifies, the subscriber record updates, the content opens on the device and the website, and canceling produces the expected notifications.
Refunds are granted by Google, either from Play Console or through the viewer's request to Google, and appear in Play Console. If a refund ends a subscription, the resulting notification updates the subscriber record; otherwise the operator ends the purchase in the admin.