Roku Pay integration requirements

All apps with transactional content or in-app purchases (SVOD, TVOD, and other subscription services) must integrate and enable Roku Pay services. This document lists the requirements for integrating Roku Pay services in an app. Apps must adhere to all of these requirements to pass certification.

RP 1 Channel setup requirements

RequirementNameDescriptionDocumentation
RP 1.1Channel nameApps must provide a name, description, and poster (a 540x405 JPEG or PNG image) in each language supported by the channel.

The app name must clearly identify the company associated with the service, and the publisher must have full legal rights or consent for their app names and the rights to all trademarks and copyright expressions associated with the name.

The app name may not include the name "Roku", and it may not contain any profanity, or derogatory or misleading language.
App publishing

RP 2 Sign-up and sign-in requirements

RequirementNameDescriptionDocumentation
RP 2.1RFI screenAll authenticated transactional apps (SVOD, TVOD, and other subscription services) must use the getUserData command to display a Request For Information (RFI) screen during the sign-up and sign-in workflows to enable customers to share their Roku account information with the app.

Only if the user declines the request, may apps require the customer to manually enter information other than a password.

RP 3 Payment requirements

RequirementNameDescriptionDocumentation
RP 3.1Product groupsSubscription services must create product groups in the Developer Dashboard for any set of subscription products that the consumer should not be able to be subscribed to simultaneously.

For example, if an app has two in-channel products for the same monthly subscription but with different free trial durations, these two products must be added to the same product group to prevent the customer from paying for two separate monthly subscriptions
In-app purchases - Product groups
RP 3.2Multiple purchase protectionApps must protect against multiple purchases of content or subscriptions through Roku Pay before passing new orders to the Streaming Store service.

The Streaming Store service inherently protects against purchasing the same subscription code multiple times, but preventing, for example, the purchase of a free trial subscription and a non-free trial subscription must be done in the channel.
In-app purchases -Product Groups
RP 3.3Price changesSVOD apps must provide notice and otherwise comply with all applicable laws before changing the price of their service.

In all cases, Roku requires that SVOD apps provide at least 15 days notice to all existing customers before a price increase.
In-app purchases - Product pricing
RP 3.4In-channel product namingApps must name in-app products so that the service being offered is clearly identifiable. The publisher must have full legal rights or consent for their in-app product names and the rights to all trademarks and copyright expressions associated with the names. The in-app product names may not include the name "Roku", text related to a trial or discount offer, or any profane, derogatory, or misleading language.In-app purchases - Product basics

RP 4 Authentication and entitlement requirements

Requirement

Name

Description

Documentation

RP 4.1

On-device authentication

Apps that include authentication must complete account sign-ups and sign-ins on the device using On-device authentication.

Sign-up and sign-in workflows are prohibited from including external webpages, links to off-device promotional or marketing materials, or utilizing off-device sign-up or sign-in mechanisms such as rendezvous linking.

On-device authentication

RP 4.2

On-device upgrades and downgrades

Apps must complete upgrades and downgrades on the device using On-device upgrade and downgrade. The upgrade/downgrade workflows are prohibited from including external webpages.

On-device upgrade and downgrade

RP 4.3

Account-based entitlements

Apps must automatically entitle content or subscriptions purchased through Roku Pay across all devices tied to the purchasing Roku account.

Apps can use the getAllPurchases API can upon launch to return the transactionID for an active subscription, and they can use an entitlement server to look up an account via a call to the validate-transaction API.

RP 4.4

Abandonment tracking

All subscription services that have streamed more than an average of 5 million hours per month over the last three months (and new subscription services projected to reach the specified streaming hour threshold shortly after launch) must implement Roku Event Dispatcher (RED) in the signup workflow.

Apps must fire a RED event upon loading each page within the signup flow and submission of the final page to help track where users are abandoning the process. This includes, but is not limited to, the following pages: landing, sign up, registration, device activation, subscription selection, payment, purchase confirmation, and cancellation.

If the app's sign-up flow is contained within a form that covers one or more pages, channels must fire a RED event when each element in the form is completed. Streaming hours per month information is available in the Developer Dashboard.

Tracking signup abandonment.

RP 4.5

Enhanced Subscription Recovery (churn mitigation)

All apps offering subscriptions must implement Enhanced Subscription Recovery to pass certification

Enhanced Subscription Recovery