Implementation Responsibilities

Overview

RevenueCat is the single source-of-truth for your subscription status across iOS, Android, and web. The complicated process surrounding receipt validation and interacting with the various native frameworks like Apple's StoreKit and Google's BillingClient are handled automatically when using RevenueCat's SDK.

Subscription status isn't the only aspect of integrating subscriptions into your app, though. Paywalls, content delivery, and attribution are just some of the elements many developers will encounter in the process.

This document intends to outline the responsibilities between developers integrating the Purchases SDK, RevenueCat itself, and the various app stores (App Store, Google Play, Stripe, and Amazon Appstore).

RevenueCat Responsibilities

Backend

RevenueCat's backend will appropriately verify, parse, and validate receipts associated with customers for your app and provides continuously updating subscription status via the API and SDK.

Client SDK

The SDK will fetch product information from stores, manage purchase logic (including purchase environments), sync receipts, fetch customer subscription status from the backend, and sync attribution data for customers.

For more information about the SDK and how to install it for your platform, check out our Installation docs.

Dashboard / Charts

The RevenueCat Dashboard and Charts will display revenue information based on the production receipts synced with the SDK and processed by the backend.

For more information about the Dashboard and Charts, check out our docs here.

General Responsibilities

DeveloperRevenueCatApp StoreGoogle Play
Fetching product information from store
Presenting products to users for purchase
Managing purchase logic
Processing payments
Managing billing/issuing refunds for subscriptions☑️ (Optional, Android-only, see Refunds)
Unlocking gated content and features
Unlocking purchases initiated from the App Store / Google Play / Stripe
Syncing, parsing and verifying receipts
Tracking entitlement status
Tracking purchase history
Downloading purchased content
Identifying users
Getting attribution data for attribution providers
Sending attribution data to attribution providers
Notifying your servers of purchase events
Reporting revenue