Setting Up Roku Pay with Your Roku Channel

Introduction

The Roku Pay feature (previously called "In-Channel Purchase") allows your Roku channel to support one-time and subscription purchases entirely within your channel. Product selection and payment authorization are all performed on-screen using the Roku remote control. All payments are processed through Roku Billing Services, and Roku deposits sales revenue directly to your PayPal account.

Why "Roku Pay"? Roku renamed this feature from "In-Channel Purchase" as they phase out pay-before-install monetization models. The term "in-channel" was causing confusion about which purchases happened inside vs. outside the channel.

Note: Roku now refers to channels as "apps" to align with other streaming platforms, but ITVC documentation continues to use "channel" to match the interface you see.



Prerequisites

• You must be enrolled in the Roku Partner Payouts Program. Visit developer.roku.com/developer/billing for information.
• Your ITVC account Developer Mode must be set to Advanced to view or change Roku Pay settings. Change this setting from the ITVC Account page.
• Your channel must be a Commercial channel type. Free and Unlimited channel types do not support Roku Pay.
• If you want to use Purchase buttons on Springboard screens (video detail screens), you must enable Show Custom Springboard Buttons on the ITVC Account page. This is not required if you use Programmable Buttons for purchases (an advanced scenario covered in the complex scenarios guide).



Part 1: Roku Developer Account Setup (Catalog 2.0)

Roku's Product Catalog uses a three-step workflow to configure products for purchase. Understanding the difference between products and purchase options is key:

  • Product - A package of content (e.g., "Premium Tier" or "Ad-Free Access")
  • Purchase Option - Pricing and billing terms for a product (e.g., monthly $9.99 or annual $99.99)
  • Product Group - Set of mutually exclusive products (prevents double-billing)

One product can have multiple purchase options. For example, a "Premium" product might have both monthly and annual purchase options. However, ITVC recommends selecting a single billing period (typically monthly) rather than offering multiple options. This reduces viewer confusion and is easier to configure correctly in ITVC.

Catalog 2.0 Availability:
• Accounts created after April 30, 2025 automatically use Catalog 2.0.
• Accounts created before April 30, 2025 may be upgraded by Roku (you'll receive a notification).
• If you have not been upgraded, continue using the legacy in-app product catalog UI.

Step 1: Create a Product

A product represents a set of video, audio, or other content offered by your channel.

  1. Log into the Roku Developer Dashboard.
  2. Select Product Catalog under Monetization in the left sidebar.
  3. The Product Catalog page opens, showing the Product list tab. Click Add product.
  4. Product name - Select a language and enter a descriptive name for the product.

    This name is used in Roku Pay reports and appears to customers only for product bundles. You can provide localized names in additional languages if your channel supports multiple locales.

    Example: "Premium Tier"

  5. Product Id - Enter an internal code for your product.

    This is separate from the SKU you'll create later in the purchase option. The Product Id is used internally by Roku for product management.

  6. Category - Select Video content.

    (Other options: Audio content, Game token. Once saved, the category cannot be changed.)

  7. Internet required - Select Yes for video channels.
  8. It is an add-on - Leave this unchecked, add-on products are not currently available in ITVC.
  9. Product exclusivity group - Leave this unchecked for now. You'll optionally create product groups in Step 3.
  10. Click Save and create purchase to immediately create pricing for this product.

    (Or click Save product to create the product without a purchase option. You can add purchase options later.)

Step 2: Create a Purchase Option

A purchase option specifies the billing period and price for your product. The SKU field in the purchase option is what you'll use in ITVC's Identifier parameter.

  1. If you clicked Save and create purchase in Step 1, the purchase option form opens automatically.

    Otherwise, click the Purchase options tab, then click Create purchase option.

  2. Select the type of purchase option:
    • Subscription - Monthly, quarterly, or annual subscription (most common)
    • One-Time Purchase - Movie rental/purchase, sporting event, pay-per-view
    • One-Time Purchase, Consumable - For multiple identical purchases (e.g., game points)
    • Subscription bundle - Combines two or more products (not currently available in ITVC)

    Click Continue.

  3. App - Select one or more channels (apps) where this product will be available for sale.
  4. Product - Select the product you created in Step 1.
  5. Display name - Enter a name that will be shown to customers (50 character maximum).

    This name appears in the on-device purchasing workflow and in subscription emails sent by Roku. It should identify your channel and the product clearly.

    IMPORTANT: Do NOT include:

    • The word "Roku"
    • Billing information (frequency, price, trial, discount)
    • The Roku platform automatically displays pricing and billing details

    Example: "MyChannel - Ad-Free"

  6. SKU - Enter a unique code for this purchase option.

    This is the code you'll use in ITVC's Identifier parameters! The SKU is used in Roku Pay APIs and reporting. It cannot be changed after the purchase option is published.

    RECOMMENDED SKU FORMAT: Use UPPERCASE LETTERS, numbers, hyphens, and underscores only. Avoid spaces, lowercase letters, and other special characters. This prevents common configuration errors caused by invisible spacing characters or case mismatches.

    Example: "PREMIUM-MONTHLY" or "AD_REMOVAL"

  7. Billing periods - Select Monthly (1 month), Quarterly (3 months), or Annual (12 months).
  8. Regular price - Select a price tier.

    99-cent pricing: Tiers 1-400. Subtract 1 cent from the tier number to get the price. (Tier 1 = $0.99, Tier 10 = $9.99, Tier 100 = $99.99, Tier 400 = $399.99)

    49-cent pricing: Tiers 1000-1030. Append 49 cents to the last digit(s) of the tier number. (Tier 1000 = $0.49, Tier 1001 = $1.49, Tier 1010 = $10.49, Tier 1030 = $30.49)

    The page displays the equivalent price in local currencies for each Roku Streaming Store where your channel will be available.

  9. Base offer - Optionally add a free trial or introductory price discount:
    • None - No trial or discount (default)
    • Free trial - Enter the number of days or months for the trial period
    • Introductory price - Enter the discount period and select a lower price tier
  10. Click Review and Publish to make the purchase option available immediately.

    (Or click Save as Draft to save it for publishing later.)

  11. If you clicked Review and Publish, review the purchase details and billing plan, then click Confirm.

Step 3: Create Product Exclusivity Group (If Needed)

If your channel offers multiple subscription tiers (e.g., ad-supported and ad-free, or monthly and annual), you must create a product exclusivity group containing those products. This prevents customers from being double-billed and enables them to upgrade or downgrade on-device.

Certification requirement: Subscription services must create product groups for all sets of subscription products that customers cannot be subscribed to simultaneously.
  1. From the Product Catalog page, click the Product exclusivity groups tab.
  2. Click Create group.
  3. Click the Add to group icon (+) for each mutually exclusive product to be included in the group.

    For example, if you offer both "Ad-Supported" and "Ad-Free" products, add both to the same group.

  4. Enter a descriptive Product Group Name.

    Example: "MyChannel - Subscription Tiers"

  5. Click Save.

Step 4: Add Test User (Optional but Recommended)

A test user allows you to make on-screen test purchases without charges to your credit card.

About Test Users:
• Setting up a test user is optional.
• Without a test user, any test purchases will result in actual credit card charges.
• You can add any Roku account email address as a test user (not just your own).
  1. In the Developer Dashboard, select Test Users under Monetization.
  2. Click Add New Test User.
  3. In the Test User Email box, enter the email address of the test user.

    You can use any Roku account email address. The email must match the Roku account linked to the Roku device where testing will occur.

  4. From the Apps list, select one or more channels (apps) where the test user can make free purchases.
  5. Click Add.


Part 2: ITVC Configuration

Now you'll configure your ITVC channel to use the products you created in your Roku Developer Account.

Step 1: Add Roku API Key (Optional but Recommended)

The Roku API Key enables ITVC to validate purchases, display transaction receipts, and manage subscription cancellations. While optional, adding the API key is strongly recommended for production channels.

  1. Click the "Roku Billing" link on the left side of the ITVC page.
  2. Copy the 36-character "Key ID" from the "Roku Pay Web Services" page in your Roku Developer Account.
  3. Paste it into the Roku API Key parameter on the ITVC "Roku Billing Settings" page.

Step 2: Add Purchase Button to Content Item

  1. From the ITVC "Content" page, select the video content item where you want to add a Purchase button.
  2. Scroll down to the Button parameters ("Button 1", "Button 2", etc).

    If you don't see Button parameters, visit the "Account" page and select "Yes" for Show Custom Springboard Buttons. Don't forget to click the green SAVE button.

  3. Click the New button on the highest numbered Button parameter block.
  4. Change the new button's Action parameter from "New" to "Purchase".
  5. Change the Label parameter to something like "Subscribe for $4.99/month". Use the price tier you selected in your Roku Developer Account.
  6. Leave Button Display set at "hide if this product is purchased". This hides the button after a successful purchase.
  7. Enter the Identifier (the SKU you created in your Roku Developer Account, e.g., "PREMIUM-1").
  8. Enter a Product Name like "Premium Subscription". This can be displayed in on-screen receipts. If blank, the Product Name from your Roku Developer Account will be used.
  9. Leave After Purchase set at "play this content item". The video will play immediately after successful purchase.

Editing a Purchase Button - SKU is AD-1

Step 3: Configure Product Settings

  1. Scroll lower in the video's parameter list to locate the Product block.
  2. Set the Product Identifier to match the SKU from your Roku Developer Account (e.g., "PREMIUM-1"). This must match the Identifier you entered in the Purchase button.
  3. Set the Product Purchase Type to the appropriate type:
    • ad removal - Removes video ads from this content item
    • content - Allows this content item to be played (most common)
    • content without video ads - Allows playback with ads removed
    • quality - Enables HD streaming (for streams marked with Quality="True")
    • quality without video ads - Enables HD streaming with ads removed
    • other - Purchase has no effect on playback (e.g., donation)

Editing a Product - SKU is AD-1



Part 3: Simple Scenarios

Here are three common Roku Pay configurations to help you get started.

Scenario 1: Monthly Subscription for All Content

This is the most common configuration. Subscribers pay a monthly fee to access your entire channel.

  1. In your Roku Developer Account, create a product:
    • Product Name: "Monthly Subscription"
    • SKU: "MONTHLY-1"
    • Purchase Type: Monthly Subscription
    • Price Tier: Select your monthly price
  2. In ITVC, add a Purchase button to each video:
    • Label: "Subscribe for $X.XX/month"
    • Identifier: "MONTHLY-1" (the SKU from your Roku Developer Account)
  3. In each video's Product block:
    • Identifier: "MONTHLY-1" (must match the SKU)
    • Purchase Type: "content"

Scenario 2: One-Time Purchase for Single Video

Allow viewers to purchase individual videos à la carte.

  1. In your Roku Developer Account, create a product:
    • Product Name: "Single Video Purchase"
    • SKU: "VIDEO-1" (or unique ID per video)
    • Purchase Type: One-Time Purchase
    • Price Tier: Select your price
  2. In ITVC, add a Purchase button to the video:
    • Label: "Buy this video for $X.XX"
    • Identifier: "VIDEO-1" (the SKU from your Roku Developer Account)
  3. In the video's Product block:
    • Identifier: "VIDEO-1" (must match the SKU)
    • Purchase Type: "content"

Scenario 3: Ad Removal

Offer viewers the option to remove video ads for a fee.

Prerequisite: Your channel must already be configured with video ads. See the Monetization: Placing Ads in your Roku Channel help article for instructions.
  1. In your Roku Developer Account, create a product:
    • Product Name: "Ad Removal"
    • SKU: "AD-REMOVAL"
    • Purchase Type: One-Time Purchase or Monthly Subscription
    • Price Tier: Select your price
  2. In ITVC, add a Purchase button to each video with ads:
    • Label: "Remove ads for $X.XX"
    • Identifier: "AD-REMOVAL" (the SKU from your Roku Developer Account)
  3. In each video's Product block:
    • Identifier: "AD-REMOVAL" (must match the SKU)
    • Purchase Type: "ad removal"


Part 4: Testing Procedures

Beta Channel Testing (OPTIONAL, BUT HIGHLY RECOMMENDED)

  1. Install your beta channel on a test Roku device using the email address you configured as a test user.

    Note: After installing a beta channel, it may take up to 24 hours for the channel to appear on your Roku devices, even when using Settings > System > Software update > Check now.

  2. Navigate to a video with a Purchase button.
  3. Click the Purchase button and complete the purchase flow.
  4. Verify the video plays after purchase.
  5. Exit and relaunch the channel to verify the purchase persists.
  6. Check that the Purchase button is now hidden (if configured that way).

Production Channel Testing (HIGHLY RECOMMENDED, REQUIRED IF YOU SKIPPED BETA CHANNEL TESTING)

IMPORTANT: Always verify correct operation of Roku Pay on your production channel. Beta channel testing alone is not sufficient.
  1. Install your production channel on a test device.
  2. Make a test purchase using your test user account.
  3. Verify all purchase flows work correctly.
  4. If you configured subscription products, test subscription cancellation from your end-user Roku account settings (not your Roku Developer Account or ITVC).

    Log into your Roku account at my.roku.com and navigate to Manage your subscriptions.

  5. Verify you receive email receipts from Roku for all purchases.


Part 5: Quick Reference

Product Purchase Types (ITVC Setting)

Purchase Type Effect
ad removal Removes video ads from content item
content Allows content item to be played (most common)
content without video ads Allows playback with ads removed
quality Enables HD streaming for streams marked Quality="True"
quality without video ads Enables HD streaming with ads removed
other Purchase has no effect on playback (e.g., donation)

Roku Developer Account ↔ ITVC Parameter Mapping

Roku Developer Account Field ITVC Parameter Notes
SKU (in Purchase Option) Identifier (in Button and Product blocks) Must match exactly
Display name (in Purchase Option) Product Name (in Button block) ITVC value overrides Roku value if provided
Billing period Not used in ITVC Managed entirely by Roku
Regular price Not used in ITVC Managed entirely by Roku

Purchase Button Display Options

Option When Button Appears
hide if this product is purchased Shows only before purchase (most common)
show if this product is purchased Shows only after purchase
always show Always visible regardless of purchase status

Common Price Tiers

Tier Number Price (USD)
1 $0.99
5 $4.99
10 $9.99
15 $14.99
20 $19.99
50 $49.99
100 $99.99

Common Issues & Solutions

Issue Solution
Purchase button doesn't appear Check that Developer Mode is set to "Advanced" in ITVC Account page
Purchase fails or shows error Verify SKU in Roku Developer Account matches Identifier in ITVC exactly (may be case-sensitive, check for extra spaces)
Purchase doesn't persist after channel restart Check Product block configuration - Identifier and Purchase Type must be set
Product not available for purchase on device Ensure purchase option is Published (not Draft) in Roku Developer Account
Video still shows ads after ad removal purchase Verify Purchase Type is set to "ad removal" in Product block
Multiple SKUs but only want one subscription Create Product Exclusivity Group in Roku Developer Account



Advanced Features

For complex scenarios, see the Roku Pay Complex Scenarios guide:


Suggestions, comments, or questions about this Roku tutorial can be sent to .

Instant TV Channel is a cloud-based tool for Roku developers and content providers that shortens development time and eases maintenance after deployment.


Subtitles

If you are considering subtitles for your Roku video content, our sister-site InstantSubtitles.com provides an easy-to-use and inexpensive solution. Click here for more information.




Access Code: ID1
Check out Instant TV Channel by adding our latest demonstration channel to your Roku player.



Instant TV Channel is not affiliated with nor endorsed by Roku Inc.