• Products
      • Products

        Build Streaming Platforms like Netflix, Udemy or Audible

        Live stream events, shows, tournaments on any device

        Host, publish, manage video, and audio files in one place

        Cloud playout software for linear TV & FAST channels

        New

        Video compliance checks and fixes with AI

        New

        Host branded video meetings on your platform

        Sell your individual videos online with pay-per-view instantly

        SDKs to deliver cutting-edge video, efficiently and on any device

        Test TV Apps on Real Smart TVs Remotely

        Alie AI Header

        Alie AI - World's First Streaming Focused AI Engine

        • ExamplesRight Arrow
        • Alie AI DemoRight Arrow
        • Ask SalesRight Arrow
        • Switch to MuviRight Arrow
    • Alie AI
        • Alie AI
          Built on Alie

          Video compliance checks and fixes with AI.

          World’s First Streaming Focused AI Engine
          Discover Alie
          AI Subtitles

          Auto‑generate video subtitles in primary language.

          AI Translations

          Translate subtitles instantly in 75+ languages.

          AI Recommendations

          Deliver tailored content recommendations.

          AI Metadata

          Smart fill meta titles, descriptions, tags & casts.

          AI Compliance

          Automate regulation checks and edits in one click.

          AI Dubbing

          Dub videos into languages your customers speak.

          AI Chaptering

          Split long videos & audio files into structured chapters.

          AI Clips

          Create clips, reels, social snippets and more in one click.

          AI Chat with Video

          Chat with videos to ask questions, brainstorm & more.

          View all AI FeaturesRight Arrow
          Demo Center
          Menu Image

          Experience Muvi products first hand by taking a quick demo.

          Learn moreRight Arrow
    • Pricing
    • Solutions
        • Solutions
          • Video Streaming (VOD)
          • Audio Streaming (AOD)
          • Live Streaming
          • Offline Streaming
          • Video Hosting Platform
          • Podcast Platform
          • Mobile & TV Apps
          • Meetings & Webinars
          • Online Video Platform
          • IPTV Solution
          • Live Events
          • Media & Entertainment
          • Sports
          • Healthcare
          • Health & Fitness
          • Tourism & Hospitality
          • Education
          • Religion
          • Judiciary
          • Enterprises
          • Film Festivals
          • Broadcasters
          • Government
          • Telcos
          • Finance
          • Beauty
          Web App
          • Website
          Casting
          • Chromecast
          • AirPlay
          • Apple Watch
          Mobile
          • iOS
          • Android
          • Mobile SDKs
          Others
          • Get Only Apps
          • Muvi Onyx
          • Muvi Blue
          TV
          • Roku TV
          • Android TV
          • Apple TV
          • Samsung TV
          • Fire TV
          • LG TV
          • VEWD TV
          • VIDAA OS TV
          • Astro TV
          • Netflix
          • YouTube
          • ESPN+
          • Udemy
          • Audible
          • Apple Music
          • Zoom Meetings
          • AVO TV
          • Calm
          • Shahid
          • Nebula
          • Pluto TV
          • beIN
          • Poppo Live
          • Rumble
          • TikTok
          • Reelshort
          • OnlyFans
          • Clubhouse
          • Clipclaps
          • Google Podcast
          • Fanhouse
          • OnlyFans TV
          • Spotify
          • Bigo Live
          • Whatnot
          • Hulu
          • Tango
          • Equinox
          • Cerebral
          • Masterclass
          • Twitch
          • Curiosity Stream
          • WorldStarHipHop
          • Baller TV
          • TinyZone
          • BXNG
          • Dramabox
          • Boomplay
          • Blinkist
          • Seekho
          • UpScrolled
          • Featured Solutions
          • On-premise
          • Short Videos
          • eLearning
          • FAST
    • Help
        • Help
          Help & Support
          • Help Center
          • Community
          • Support Plans
          • Wiki
          • Migrate to Muvi
          Services
          • CMS Management
          • End-User Support
          • Design & Visuals
          • Product & UX Consulting
          • Professional Services
          • Critical Events Support
          Resources
          • Resource Center
          • Blogs
          • Events & Webinars
          • Case Studies
          • Product Updates
          • Free Tools
          Developers
          • APIs
          • SDKs
          • BYOD
          • Webhook
    • Company
        • Company
          Company
          • About Us
          • Newsroom
          • Compliances
          • Awards & Recognition
          • Muvi Academy
          • Contact Us
          • Ask Sales
          Partners
          • Partnership Program
          • Partner Portal Login
          • Find a Partner
          • Integrations
          • Become a Partner
          • Affiliate Program
          CareersRight Arrow
          Muvi Foundation
          Menu Image

          An inspiration, to strengthen, to help, to empower our entire community.

          Learn moreRight Arrow
    Login
    Free Trial
     
    Create a ticket
    1. Help Articles
    2. Help
    3. How to Integrate External Billing with Muvi
    Table of Content
    • Introduction
    • Understanding the Authorization Model
    • APIs Used for the Integration
    • Integrating Subscription Model
    • Onboarding
    • Recurring
    • Cancellation
    • Integrating the Onetime Payment (PPV) Model
    • Authorize Content by Syncing the Payment Details with Muvi
    • Get Order Details
    • Example: For Subscription
    • Example: For PPV
    • Flow Diagram
    • The End-User's Journey

    How to Integrate External Billing with Muvi

    Introduction

    Integrating an external (third-party) billing system with Muvi allows you to seamlessly manage your content and user authentication from Muvi's platform while utilizing your own billing engine and user management system. This integration allows you to create subscription plans, pay-per-view (PPV) options, and other monetization models within the Muvi platform.

    To get started, you can leverage Muvi's Login/Registration APIs to create users in your Muvi apps. This ensures a smooth user experience as users can easily sign up or log in using their credentials from your existing user management system. Once users are registered or logged in, you can utilize Muvi's comprehensive features to manage content and subscriptions.

    Note: The external billing feature cannot be enabled from the Muvi CMS. To enable this feature, add a Support Ticket.

    Understanding the Authorization Model

    Before accessing any of the Muvi APIs, you need to understand about authorization model. For authentication, the Access token must always be passed in the header as an Authorization bearer token. For more details, please check the help article.

    Note: Before accessing the API, please make sure you have configured the External Gateway, Currency details, Subscription Plans, Cancellation Reasons, and PPV Plans in the Muvi CMS.

    APIs Used for the Integration

    We are using two types of APIs.

    1. REST API (used for data writing)

    2. GraphQL API (used for data read access)

    The following key points are applicable for both types of APIs.

    API Endpoint: https://apigateway.muvi.com

    Method: POST

    Header: Content Type: application/json

    Authorization: Bearer Token

    Parameters with asterisk (*) marks are compulsory.

    Body parameters should be passed in the JSON format.

    In the case of REST API, you will have to pass the request parameters with key-value pair, whereas in GraphQl API, you will have to mention the response parameters in the query request.

    We have the following global parameters:

    app_token: This is a unique identification key for an application.

    product_key: This is a unique identification key for a product.

    store_key: This is a unique identification key for an account. This is only applicable (Mandatory) for the Muvi One product.

    user_uuid: This is a unique identification key for a user.

    In the case of GraphQL API, you must pass the value by appending a colon (:) like below...

    Eg: app_token: \":app_token\". product_key: \":product_key\". store_key: \":store_key\". user_uuid: \":me\"

    <domain>: Your frontend site URL

    Integrating Subscription Model

    The subscription model describes a user who must pay a fixed amount at regular intervals for access to content. This module covers the following events.

    Onboarding

    The Onboarding API facilitates a frictionless user initiation process by enabling seamless interaction between the external vendor's platform and the Muvi system. Developers can leverage the API to effortlessly onboard users onto their subscription service, ensuring a smooth and user-friendly experience.

    Recurring

    Automate the recurring billing process with Muvi's platform. This essential module synchronizes billing cycles between the external vendor's system and the Muvi platform, ensuring uninterrupted service for subscribers. Developers can integrate this API to streamline periodic transactions and maintain a seamless flow of subscription services. In this process, the payment will. 1) Success 2) Fail.

    In case of Success payment, the billing date will be changed to another term that a user has taken, whereas in case of the failure of the payment, the subscription will terminate right away, and that user will not be able to access the content any longer.

    Cancellation

    The cancellation process provides a straightforward mechanism for users to discontinue their subscriptions. Developers can implement this API to facilitate a user-friendly cancellation process, ensuring synchronization between the external vendor's platform and the Muvi system.

    The cancellations can happen in three ways.

    1. The user cancels himself/herself.
    2. Admin can cancel the user’s subscription.
    3. The system cancels when the recurring payment fails.

    Integrating the Onetime Payment (PPV) Model

    This model allows you to watch content for a limited period after taking a payment. In this case like a subscription, you need to handshake the billing detail of the user with Muvi’s ecosystem.

    Authorize Content by Syncing the Payment Details with Muvi

    In this scenario, the payment information will be exchanged between external vendors to Muvi and Muvi will authorize the user to watch the content. The following APIs are used for this use case.

    API Details

    Get Order Details

    The purpose of this API is to retrieve order details for users attempting to make a purchase.

          HTTP Method: POST

          Auth header type: Required

    EndpointTypeDescriptionExample
    <api-gateway-domain>/transactions/get-order-detailsPostThis API retrieves order details for users attempting to make a purchase.{"sst_token":"xxxx","gateway_type":"xxxxx"}

      

    Request Parameter(s)

    NameRequiredTypeValuesDescription
    sst_token*YesStringA valid sst token
    gateway_type*YesStringA valid gateway type like external,hosted and nonhosted

    Example:

    {

    "sst_token":"170660207726429UUWUU",

    "gateway_type":"external"

    }

    Response Parameters

    NameTypeDescription
    codeInt Api status code
    statusStringStatus (SUCCESS, FAILED, ….)
    messageStringMessage of api response
    amountStringplan amount
    plan_typeStringPlan type ppv or subscription
    currency_symbolStringCurrency symbol, like ‘$’, ‘₹’
    currency_codeStringCurrency Code , like ‘USD’, ‘INR’ 
    user_nameStringGo-Global user name
    plan_nameStringPlan name
    plan_priceStringPlan price
    plan_intervalIntPlan interval
    planInterval_unitStringPlan interval, for example  ‘Day’, ‘Month’ and ‘Year’
    billing_typeIntBilling type for PPV is 4, and for subscription, it is 2.
    content_uuidStringContent Uuid only when plan is ppv
    gateway_orderObjectThis field content includes 'subscription_pricing_uuid', 'subscription_plan_uuid', and 'email' specifically for subscriptions. For PPV, it includes 'pricing_uuid', and for general cases, it contains 'return_url', 'cancel_url', 'first_name', and 'last_name'.
    These parameter lists are used for gatewayOrder

    subscription_pricing_uuidStringSubscription pricing uuid
    subscription_plan_uuidStringSubscription plan uuid
    emailStringUser mail id
    pricing_uuidStringPpv pricing uuid
    first_nameStringUser first name
    last_nameStringUser last name
    return_urlStringReturn url for payment success
    cancel_urlStringCancel url for payment failed or cancel

    Example: For Subscription

    {

      "amount": "100.00",

      "plan_type": "Subscription Plan",

      "code": 200,

      "currency_symbol": "$",

      "user_name": "test",

      "plan_price": "100.00",

      "plan_interval_unit": "Month",

      "message": "Process Completed Successfully",

      "currency_code": "USD",

      "plan_name": "test",

      "gateway_order": {

        "subscription_pricing_uuid": "123abc",

        "subscription_plan_uuid": "123xyz",

        "plan_free_trial_interval": 0,

        "last_name": "test",

        "return_url": "<domain>/en/checkout-success?billing_type=2",

        "first_name": "test",

        "cancel_url": "<domain>/en/checkout-fail?callback_url=<domain>/en",

        "email": "test@yupmail.com"

      },

      "billing_type": 2,

      "plan_interval": 1,

      "status": "SUCCESS"

    }

    Example: For PPV

    {

      "amount": "30.00",

      "plan_type": "PPV Plan",

      "code": 200,

      "currency_symbol": "$",

      "user_name": "test",

      "plan_price": "30.00",

      "message": "Process Completed Successfully",

      "currency_code": "USD",

      "plan_name": "test",

      "gateway_order": {

        "country_code": "US",

        "pricing_uuid": "abc123",

        "last_name": "test",

        "return_url": "<domain>/en/checkout-success?billing_type=4",

        "plan_amount": "30.00",

        "first_name": "test",

        "cancel_url": "<domain>/en/checkout-fail?callback_url=<domain>/users-last-referring-page",

        "plan_name": "test name",

        "currency_code": "USD",

        "plan_description": "test description"

      },

      "content_uuid": "123abc",

      "billing_type": 4,

      "status": "SUCCESS"

    }

    URL
    Note:

    Modifying the SST token is not possible after generation. Therefore Muvi would send the return_url and cancel_url along with the 3rd party Gateway URL. Use the return_url and cancel_url as they are when you redirect to Muvi.

    Format:

    https://<3rd-party-domain>?muvi_sst_token=<muvi_sst_token>&return_url=<return_url>&cancel_url=<cancel_url>

    Example:

    https://<3rd-party-domain>?muvi_sst_token=1706082457582326XHA3&return_url=https%3A%2F%2Fsharijchurchill-dev.allthingsott.com%2Fen%2Fcheckout-success%3Fgateway_type%3Dexternal%26muvi_sst_token%3D1706085001878HS7GWF5%26billing_type%3D4&cancel_url=https%3A%2F%2Fsharijchurchill-dev.allthingsott.com%2Fen%2Fcheckout-fail%3Fmuvi_sst_token%3D1706085001878HS7GWF5%26callback_url%3Dhttps%3A%2F%2Fsharijchurchill-dev.allthingsott.com%2Fen

    muvi_sst_tokenOne-time secure token with a validity of 10 minutes. 
    return_urlExample:

    Encoded Format:

    https%3A%2F%2Fsharijchurchill-dev.allthingsott.com%2Fen%2Fcheckout-success%3Fgateway_type%3Dexternal%26muvi_sst_token%3D1706085001878HS7GWF5%26billing_type%3D4

    Decoded Format:

    <domain>/en/checkout-success?gateway_type=external&muvi_sst_token=1706085001878HS7GWF5&billing_type=4

    Upon successful payment, it should be redirected to Muvi.

    cancel_urlExample:

    Encoded Format:

    https%3A%2F%2Fsharijchurchill-dev.allthingsott.com%2Fen%2Fcheckout-fail%3Fmuvi_sst_token%3D1706085001878HS7GWF5%26callback_url%3Dhttps%3A%2F%2Fsharijchurchill-dev.allthingsott.com%2Fen

    Decoded Format:

    <domain>/en/checkout-fail?muvi_sst_token=1706085001878HS7GWF5&callback_url=<domain>/en

    Upon cancellation, or failed payment should be redirected to Muvi.

    Flow Diagram

    Onboarding:

    Recurring:

    Cancellation:

    The End-User's Journey

    1. The end-user would be created by the third party itself.
    2. Third-party handshakes the end-user details with Muvi.
    3. An end-user logs in to Muvi's ecosystem.
    4. He/She selects the plan for the Muvi ecosystem.
    5. The payment process will be redirected to the third party. 
    6. Third-party handshakes the billing details with Muvi after receiving the payment and the end-user will be redirected to the Muvi's ecosystem.
    7. The end-user will be able to access the content on Muvi's platform.

    Was this article helpful?
    Yes
    No
    Let us know so that we can improve.

    Your email address will not be published. Required fields are marked *

    Next

    How to Add Content from Muvi to Your Wix Website

    Ask the Community

    Our super friendly community helpers are on hand to help out ask away. They can help with almost anything.

    Products
    • One
    • Live
    • Flex
    • Playout
    • TrueComply
    • Muvi Meet
    • TV
    • Player
    • TV Lab
    Products
    • One
    • Live
    • Flex
    • Playout
    • TrueComply
    • Muvi Meet
    • TV
    • Player
    • TV Lab
    Company
    • About Muvi
    • Careers
    • Awards & Recognition
    • Global Compliances
    • Price Match
    • Legal Policies
    • Muvi Foundation
    • Muvi University
    • Contact Us
    • Ask Sales
    Solutions
      Services
      • CMS Management Services
      • End-User Support Services
      • Design Services
      • Product & UX Consulting
      • Muvi Professional Services
      • Critical Events Support
      Resources
      • Blogs
      • Events & Webinars
      • Whitepapers
      • Case Studies
      • Free Tools
      • Build vs Buy Calculator
      Help and Support
      • Help Center
      • Community
      • Support Service
      • Partner Program
      • Find a Partner
      Developers
      • APIs
      • SDKs
      • BYOD
      • Webhook
      Developers
      • APIs
      • SDKs
      • BYOD
      • Webhook
      • 42241 Violet Mist Terrace, Ashburn, VA 20148
      • sales@muvi.com
      • +1-860-973-0083 (USA)

      Copyrights ©2025 Muvi LLC | Leading the streaming revolution since 2010