Stripe integration for OTT platform
Stripe integration for OTT platform on Flicknexs: subscriptions, scheduled upgrades, one-time pay-per-view, promotion codes and server-side verification.
Flicknexs connects your own Stripe account to the subscription plans and pay-per-view prices you define in the admin, so the money settles in Stripe while access is granted inside your streaming service.
Trusted by industry leaders
50+ OTT platforms powered by Flicknexs
Quick answer: A Stripe integration for OTT platform connects a streaming service's plans and per-title prices to Stripe Checkout so viewers pay by card and the platform grants access. Flicknexs uses Stripe subscriptions, subscription schedules for plan upgrades, one-time charges for pay-per-view, the currency set on each plan, and Stripe promotion codes, then re-checks every checkout session server-side before access opens.
Flicknexs provides stripe integration as part of its white-label OTT platform. Flicknexs connects your own Stripe account to the subscription plans and pay-per-view prices you define in the admin, so the money settles in Stripe while access is granted inside your streaming service.
Why the Stripe integration matters to an operator
Most streaming services outside the app stores take their first payment through a card, and Stripe is the gateway many operators already hold an account with. What matters is not that a logo appears on a checkout page but which Stripe objects the platform actually creates, what it stores about them, and what stays in your own Stripe account. Flicknexs creates a Stripe Checkout Session for each purchase, a Stripe Subscription for a recurring plan, and a one-time charge for a pay-per-view title. Customers, payment methods and invoices live in your Stripe account, not on the platform.
The second thing an operator needs is a plan change that does not double-bill. When a subscriber moves from a monthly plan to a higher tier, Flicknexs uses a Stripe subscription schedule so the change takes effect on a defined phase boundary rather than as an immediate second subscription. Currency is taken from the plan the viewer picked, so a plan priced in euros is charged in euros and a plan priced in rupees is charged in rupees. Promotion codes created inside Stripe can be entered at checkout, and the admin decides which plans accept them.
The third thing is verification. Flicknexs does not rely on a background event feed to decide whether a viewer paid. When the viewer returns from Stripe Checkout, the platform fetches the Checkout Session from Stripe on the server, reads its payment status, and only then records the purchase and opens access. This mirrors the flow described in the Stripe Checkout documentation and the Stripe Billing documentation, where the session object is the record of what was paid, and it means a forged return URL cannot grant access on its own.
What the Stripe integration does on Flicknexs
Each row is a behavior present in the Flicknexs payment service on the date checked, described in the terms Stripe itself uses.
Checkout Session
Every purchase starts as a Stripe Checkout Session created server-side with the plan or title price attached.
Recurring subscriptions
A subscription plan becomes a Stripe Subscription tied to the viewer as a Stripe Customer.
Scheduled plan upgrades
Moving between plans uses a Stripe subscription schedule with phases instead of a second subscription.
One-time pay-per-view
A rental or purchase of a single title is a one-time Stripe charge, not a subscription.
Plan currency
The currency sent to Stripe is the currency set on the plan or title in the admin.
Promotion codes
Stripe-hosted promotion codes are accepted at checkout when the plan has coupons switched on.
Server-side verification
On return the platform re-fetches the Checkout Session from Stripe and reads payment status before granting access.
Revenue reports
Subscription and pay-per-view purchases recorded through Stripe appear in the monthly revenue reports in the admin.
Source: Flicknexs platform documentation and architecture specification, 2026-09-03.
How the Stripe integration works, object by object
Operators who have integrated Stripe before want to know which API objects are created and where the data ends up. This is the sequence Flicknexs follows.
Keys and mode live in the admin
The admin holds your Stripe publishable key and secret key, plus a test or live mode switch. Keys are stored on the platform side and used only from the server; the viewer's browser never sees the secret key. You can run test mode against Stripe test cards while the rest of the site is live, then switch keys when you are ready to take real money.
A plan becomes a Stripe subscription
When a viewer picks a subscription plan and confirms, the platform creates or reuses a Stripe Customer for that viewer, then creates a Checkout Session in subscription mode with the plan's price and interval. Stripe hosts the card form. After payment, Stripe holds the Subscription object and charges renewals on the plan interval you configured. The viewer's card details never touch the Flicknexs database.
A title becomes a one-time charge
For pay-per-view, the Checkout Session is created in payment mode with the per-title price, and the per-quality prices you set on the title decide the amount. Once the session is paid, the platform records a purchase against that viewer and that title and applies the rental window you set, such as a start date, an expiry and a view count, on the video paywall.
Upgrades use subscription schedules
A subscriber on a lower plan who chooses a higher one is not given a second subscription. Flicknexs creates a Stripe subscription schedule that ends the current phase and starts the new plan's phase at the boundary, so the subscriber is billed once per period at the new price. The admin shows the active plan, and Stripe shows the schedule and its phases.
Currency follows the plan
Each plan and each pay-per-view price in the admin carries a currency. That currency is passed to Stripe on the Checkout Session, so you can run a euro plan and a dollar plan on the same service. Which currencies your Stripe account can present and settle is defined by Stripe for your account country, and the platform does not override it.
The return leg is verified on the server
Stripe redirects the viewer back to your site with a session identifier. The platform does not trust that redirect. It calls Stripe with the identifier, retrieves the Checkout Session, checks that payment status is paid, and only then writes the subscription or purchase and grants access. A viewer who edits the return URL gets nothing, because the server re-check fails.
How to set up Stripe in the Flicknexs admin
Five steps, in the order the admin expects them. Do the first three in Stripe test mode and switch to live keys last.
- 1
Create the keys in your Stripe dashboard
Sign in to your own Stripe account, open the developer section and copy the publishable key and the secret key for test mode. Keep the secret key private. If you have not activated the Stripe account yet, you can still use test keys to build and check the flow before Stripe finishes verifying your business details.
- 2
Paste the keys into the payment settings
In the Flicknexs admin, open the payment gateway settings, select Stripe, paste both keys and set the mode to test. Save. The gateway now appears on the viewer checkout page. If you run more than one gateway, the viewer sees each enabled option; the payment gateways page explains how several gateways sit side by side.
- 3
Define plans and per-title prices with a currency
Create your subscription plans with a name, an interval, a price and a currency. For pay-per-view, open each title and set its price per quality, its rental window and any free-preview minutes. The currency you choose here is the one Stripe will charge in, so decide it before you publish the plan to viewers.
- 4
Create promotion codes in Stripe and enable them per plan
Discounts for Stripe checkout are created inside Stripe as promotion codes, with the percentage or fixed amount, expiry and usage limits set there. In the admin, switch the coupon toggle on for the plans that should accept a code. Plans with the toggle off will not show the code field at checkout.
- 5
Run a test purchase, then go live
Use a Stripe test card to buy a plan and a single title as a viewer. Confirm the subscription appears in the admin and in Stripe, confirm playback opens, and confirm the revenue report shows both purchases. Then replace the test keys with live keys, set the mode to live and repeat the purchase once with a real card for a small-value title.
Limits and what the Stripe integration does not do
These are the boundaries of the current build, stated plainly so nobody discovers them after launch.
No event feed from Stripe to the platform
Verification happens when the viewer returns from Checkout, by re-fetching the session on the server. The platform does not consume Stripe's background event notifications. In practice that means a failed renewal, a refund or a cancellation made inside the Stripe dashboard is not pushed to the platform automatically; the operator reads those in Stripe and adjusts the subscriber's status in the admin.
A viewer who closes the tab before returning
Because the record is written on return, a viewer who pays in Stripe and then closes the browser before the redirect completes may have a paid session that the platform never recorded. Stripe still has the money and the session. The operator can see it in the Stripe dashboard and grant access from the subscriber's record in the admin.
Coupons apply only on Stripe checkout
Promotion codes and the global coupon setting work at Stripe checkout only. They are not applied on other gateways and not inside the apps that bill through the app stores, because those stores run their own pricing. If you sell the same plan through Stripe on the web and through a store on mobile, a code will discount only the web purchase.
No viewer free-trial days on plans
The admin does not offer a free-trial-days field on a subscription plan, so a Stripe subscription created by Flicknexs starts billing on day one. If you want viewers to sample content before paying, use the free-preview minutes per title or per episode on the video paywall, which needs no card and no Stripe object at all.
Stripe's own rules still apply
Which card brands, wallets and currencies appear on the Checkout page, what Stripe charges per transaction, and whether your account can accept a given currency are all decided by Stripe for your account and are documented on Stripe's own site. Flicknexs passes the price and currency you set; it does not change what Stripe accepts.
Worked example: a fitness studio selling classes on Stripe
Picture a boutique fitness studio with three physical locations and a library of recorded classes. The owner already runs the studio's memberships through Stripe and wants the video library billed the same way. In the Flicknexs admin she creates two plans priced in US dollars: a monthly all-access plan and a quarterly plan at a lower effective rate, both with the coupon toggle on. She also sets a one-time price on each 45-minute workshop recording, with a 7-day rental window and two free-preview minutes so a visitor can judge the instructor before paying.
At launch she creates a promotion code in Stripe for existing gym members and shares it in the studio newsletter. A member picks the quarterly plan, enters the code on the Stripe-hosted Checkout page, pays, and is redirected back. The platform re-fetches the session, sees it is paid, creates the subscriber record, and the member is watching within the same minute. A visitor from another city buys a single workshop instead; that shows up as a one-time charge in Stripe and a pay-per-view line in the monthly revenue report.
Three months in, a monthly subscriber wants to move to the quarterly plan. Because Flicknexs uses a subscription schedule, the monthly phase runs to its end date and the quarterly phase begins on the boundary, so the member is not billed twice. When the owner later wants to see which classes drive renewals, she reads the watch-time and completion figures in the analytics section and compares them with the subscription revenue by month, all of it reconciled against the Stripe dashboard where the money actually sits.
Pre-launch checklist for Stripe on Flicknexs
Run every line as a viewer, not as an admin, before you send the first paying customer to the checkout page.
- Both Stripe keys are pasted into the admin, the mode switch matches the keys, and the secret key is shared with nobody.
- Every subscription plan has a price, an interval and a currency, and the currency is one your Stripe account can settle according to Stripe's documentation.
- Every pay-per-view title has a price per quality and a rental window, and free-preview minutes are set where you want a sample before payment.
- A test-mode subscription purchase with a Stripe test card creates a subscriber in the admin and a Subscription object in Stripe.
- A test-mode single-title purchase records a pay-per-view line in the revenue report and opens playback for exactly the rental window you set.
- A promotion code created in Stripe is accepted on a plan with the coupon toggle on and refused on a plan with the toggle off.
- A plan upgrade by a test subscriber produces one subscription schedule in Stripe and shows the new plan in the admin without a duplicate subscription.
- Editing the return URL after a test payment, or opening it without paying, does not grant access, because the server-side session re-check fails.
- Your team knows that refunds and cancellations are done in the Stripe dashboard first and then reflected on the subscriber's record in the admin.
- Live keys replace test keys, the mode is set to live, and one small real purchase completes end to end before launch.
Stripe, the device apps and the rest of your monetization
Stripe handles the web checkout, and that web checkout is reachable from every device. A viewer who signs up on the website and pays through Stripe is then signed in with the same account on the Android app, the iOS app, the Android TV app and the Fire TV app, and the subscription follows the account. Inside the iOS and Android apps, purchases made within the app itself go through Apple in-app purchase or Google Play Billing, each with the store's published fee; those flows are described on the Apple in-app purchases page and the Google Play Billing page. A common pattern is to send viewers to the website to subscribe through Stripe and to let the apps offer store billing for viewers who prefer it.
Stripe sits next to the other gateways rather than replacing them. The payment gateways page lists the 96 integrations in the payment service, and the PayPal integration page covers billing subscriptions and checkout orders for viewers who keep a PayPal balance. An operator can enable Stripe and PayPal at the same time and let the viewer choose at checkout. Only Stripe checkout accepts the promotion codes described on the coupons and discounts page, so if discounts are central to a campaign, steer that campaign to the Stripe path.
Whatever the gateway, the pricing model is the same. Subscription plans, pay-per-view with rental windows, free-preview minutes and pay-per-view on live events are all defined once on the video paywall and reused by every gateway. Stripe simply moves the money and returns a paid session; the platform decides what that payment opens by reading the plan or title the viewer chose.
Which plan includes Stripe
Standard layers
The Stripe integration is part of every plan, including the web-only plan, because the payment service ships with the platform rather than as a separate module. There is no per-transaction charge from Flicknexs and no separate gateway fee. 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. What Stripe itself charges per transaction is set by Stripe and published on Stripe's own pricing page.
Pricing & billing
F1 Standard is the web-only plan, with 300 GB of storage and 20 TB of bandwidth yearly; see our pricing page for current plan and pricing details. F1 Standard includes 300 GB of storage and 20 TB of bandwidth yearly for website streaming; see our pricing page for current plan and pricing details. Both include Stripe checkout for subscriptions and pay-per-view on the website.
Annual savings
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. Yearly billing on F1 to F4 costs less per month than monthly billing; see our pricing page for current plan and pricing details. Store-billed purchases inside the Android and iOS apps use Google Play Billing and Apple in-app purchase, which carry the store's published fee, while web purchases through Stripe carry only Stripe's own processing charge.
Conclusion: what to do next
Already on Flicknexs
If you are already a Flicknexs customer, open the payment gateway settings, confirm which mode your Stripe keys are in, and run the checklist above once with a test card. Then open Stripe and create the promotion codes you plan to use, switch the coupon toggle on for the plans that should accept them, and check that a plan upgrade by a test account produces a subscription schedule rather than a second subscription.
Choosing a platform
If you are choosing a platform, ask every vendor the same three questions: which Stripe objects are created, where the customer and card records live, and how a return from checkout is verified. On Flicknexs the answers are subscriptions, schedules and one-time charges; in your own Stripe account; and a server-side re-fetch of the session before access opens. Compare those answers before comparing logos.
Before a rights call
Read the companion pages next. The payment gateways page shows how Stripe sits among the other integrations, the coupons and discounts page explains the global coupon and per-plan toggle, and the video paywall page covers rental windows, free-preview minutes and pay-per-view on live events. The Apple in-app purchases and Google Play Billing pages describe what happens inside the store apps.
Frequently Asked Questions
Everything you need to know about Stripe on Flicknexs.
No. Stripe is part of every plan and Flicknexs adds no per-transaction charge. 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. Stripe's own processing charge is published on Stripe's pricing page.
Yes. A subscription plan becomes a Stripe Subscription that renews on the plan interval, and a pay-per-view title becomes a one-time Stripe charge. Plan upgrades use a Stripe subscription schedule so the subscriber is billed once per period rather than twice.
The currency sent to Stripe is the one you set on each plan or title in the admin, so different plans can use different currencies. Which currencies your Stripe account can present and settle depends on the account's country, according to Stripe's documentation.
In your own Stripe account. Flicknexs creates the Stripe Customer, Subscription and Checkout Session objects there and stores only the identifiers and the resulting subscription or purchase record. Card numbers are entered on Stripe-hosted pages and never reach the Flicknexs database.
When the viewer returns from Stripe Checkout, the platform fetches the Checkout Session from Stripe on the server and reads its payment status. Access is granted only if the session is paid. The redirect itself is never trusted, so editing the return URL grants nothing.
No. The current build verifies the session on return rather than consuming an event feed. Failed renewals, refunds and cancellations made in the Stripe dashboard are therefore read in Stripe by the operator and reflected on the subscriber's record in the admin.
Yes. Create a promotion code in Stripe with its percentage or fixed amount, expiry and usage limits, then switch the coupon toggle on for the plans that should accept it. The code field appears on the Stripe-hosted Checkout page for those plans only.
Yes. Paste test keys and set the mode to test in the admin, buy a plan and a title with a Stripe test card, and check the admin, the revenue report and the Stripe dashboard. Replace them with live keys when you are ready to take real payments.
Flicknexs creates a Stripe subscription schedule with the current plan as one phase and the new plan as the next. The change takes effect on the phase boundary, so there is no overlapping charge and the admin shows the new plan as active.
Not as trial days on the plan; the admin has no such field and the subscription starts billing on day one. To let viewers sample content before paying, set free-preview minutes per title or episode on the video paywall, which needs no card.
Yes. The subscription is attached to the viewer's account, so signing in to the Android, iOS, Android TV or Fire TV app with the same account opens the same content. Purchases made inside the iOS and Android apps themselves go through the stores instead.
Issue the refund in your Stripe dashboard, where the charge lives. Because the platform does not receive Stripe's event feed, then update the subscriber or purchase record in the Flicknexs admin so access ends when you intend it to.