Revenue Integrations: Stripe, Paddle, RevenueCat, Shopify and More | ASO.dev
In Development Coming Soon
Connect your revenue sources to ASO.dev to verify MRR, analyze retention, and keep subscription metrics in sync.
These integration guides focus on read-only, report-only, or analytics-only access. Some providers support explicit read-only scopes. Others use API keys without granular read-only scopes; in those cases ASO.dev should store the key server-side and use it only for verification reads.
Supported revenue integrations
Section titled “Supported revenue integrations”- App Store Connect
- Google Play
- RevenueCat
- Stripe
- Lemon Squeezy
- Paddle
- Adapty
- Shopify
- Chargebee
Connect Google Play in read-only mode
Use this sequence to connect Google Play revenue reports from ASO.dev:
- Log in to your ASO.dev account.
- Open Dashboard -> List Startup.
- Choose Google Play as your data source.
- Create a Google Cloud service account for ASO.dev.
- In Play Console, open Users and permissions and invite the service account email.
- Grant the read/report permissions needed for financial data.
- Download the service account JSON key and upload it to ASO.dev.
- Enter your developer bucket ID, for example
pubsite_prod_rev_0123456789. - Enter the package name if you want ASO.dev to sync one app first.
- Allow 1-10 minutes for the first sync.
Required fields
- Business Name: the public name ASO.dev should show for this revenue source.
- Service Account JSON: the Google Cloud service account key used server-side.
- Developer Bucket ID: the private Google Cloud Storage report bucket, usually
pubsite_prod_rev_.... - Package Name: optional, but recommended for app-level verification.
Recommended Play Console permissions
- View app information and download bulk reports (read-only) with global access.
- View financial data, orders, and cancellation survey responses with global access.
For app-level access, Google Play also exposes View financial data, but financial report downloads from Google Cloud Storage require financial access at the right scope.
API/report details
- Financial and sales reports are stored in a private Google Cloud Storage bucket.
- Programmatic downloads use OAuth2 server-to-server auth with the Google Cloud Storage read-only scope:
https://www.googleapis.com/auth/devstorage.read_only. - Estimated sales reports are generated daily.
- Earnings reports are generated near the beginning of the month.
What this setup includes
- Google Play estimated sales reports
- Earnings reports
- Subscription statistics reports when available
- Refund and order-related financial rows included in Google Play reports
What ASO.dev does not do
- Ask for a Google account password
- Request app publishing permissions
- Upload releases or edit store listings
- Refund orders or cancel subscriptions
- Change monetization products or prices
Connect App Store Connect in read-only mode
Use this sequence to connect App Store Connect revenue reports from ASO.dev:
- Log in to your ASO.dev account.
- Open Dashboard -> List Startup.
- Choose App Store Connect as your data source.
- In App Store Connect, open Users and Access -> Integrations -> App Store Connect API.
- Generate a new API key with access to Sales and Trends reports.
- Copy the Issuer ID and Key ID.
- Download the
.p8private key. - Find your Vendor Number in App Store Connect payments and proceeds.
- Enter the credentials in ASO.dev and allow 1-10 minutes for the first sync.
Required fields
- Business Name: the public name ASO.dev should show for this revenue source.
- Issuer ID: the App Store Connect API issuer identifier.
- Key ID: the identifier of the generated API key.
- Private Key: the
.p8key downloaded from App Store Connect. - Vendor Number: required for Sales and Finance report downloads.
API details
- Sales reports endpoint:
GET https://api.appstoreconnect.apple.com/v1/salesReports - Finance reports endpoint:
GET https://api.appstoreconnect.apple.com/v1/financeReports - Authentication: JWT signed with the App Store Connect API private key.
- Sales reports require
filter[vendorNumber],filter[reportType],filter[reportSubType], andfilter[frequency]. - Finance reports require
filter[vendorNumber],filter[regionCode],filter[reportType], andfilter[reportDate].
Recommended access
Use an API key/user access level that can download Sales and Trends reports.
If ASO.dev needs settled payout/proceeds data, the key must also be able to access Payments and Financial Reports.
What this setup includes
- App Store sales and proceeds reports
- Auto-renewable subscription reports
- Subscriber and subscription event reports
- Refund and proceeds data when available in Apple’s reports
What ASO.dev does not do
- Ask for an Apple ID password
- Use two-factor login sessions
- Edit apps, metadata, pricing, in-app purchases, or subscriptions
- Submit builds or releases
- Change tax, banking, or agreement settings
Connect RevenueCat in read-only mode
Use this sequence to connect RevenueCat securely:
- Open the RevenueCat authorization URL from your ASO.dev integration.
- Log in to RevenueCat.
- Grant read-only access for project and customer metrics.
- Authorize the connection.
- You will be redirected back to ASO.dev.
- Complete your integration setup and choose the project to sync.
- Initial data sync usually appears in 1–10 minutes.
Security details
- Redirect-based OAuth flow (
authorization_code). - No password sharing.
- We only request:
project_configuration:projects:readcustomer_information:customers:readcustomer_information:subscriptions:readcustomer_information:purchases:read
- Public OAuth clients must include PKCE:
code_challengeandcode_challenge_method=S256. - Server-side confidential clients exchange the authorization code with their registered client credentials.
- Access can be revoked in RevenueCat at any time.
ASO.dev authorization URL
Use this template when generating a RevenueCat authorization URL for ASO.dev:
https://api.revenuecat.com/oauth2/authorize?response_type=code&client_id=ASO_DEV_REVENUECAT_CLIENT_ID&redirect_uri=ASO_DEV_REDIRECT_URI_URL_ENCODED&scope=project_configuration%3Aprojects%3Aread%20customer_information%3Acustomers%3Aread%20customer_information%3Asubscriptions%3Aread%20customer_information%3Apurchases%3Aread&state=RANDOM_CSRF_STATEFor a public client, add:
&code_challenge=PKCE_CODE_CHALLENGE&code_challenge_method=S256What this gives
- Securely synchronized recurring revenue history.
- MRR and churn-ready data for verification/analytics.
- Disputes and chargeback visibility for verification workflows.
Connect Stripe in read-only mode
Use these steps to connect Stripe safely from ASO.dev:
- Log in to your ASO.dev account.
- Open Dashboard → List Startup.
- Choose Stripe as your data source.
- Click Connect with Stripe to start Stripe Connect OAuth authorization.
- Select the Stripe account you want to sync.
- Grant ASO.dev read-only access when prompted by Stripe.
- Return to ASO.dev after OAuth redirect.
- Complete your Startup profile (URL, industry, etc.).
- Wait 1–10 minutes for backfill.
OAuth details
- Authorization endpoint:
https://connect.stripe.com/oauth/authorize - Required query parameters:
response_type=code,client_id - Recommended query parameters:
redirect_uri,scope=read_only,state redirect_urimust be registered in Stripe and must use HTTPS in live mode.- ASO.dev should verify the returned
stateand the grantedscopeafter redirect. - If Stripe does not grant
read_only, ASO.dev should stop the sync and ask the user to reconnect.
What this setup includes
- Monthly Recurring Revenue (MRR)
- Churn and retention metrics
- Customer Lifetime Value (LTV)
- Disputes and refunds data
What ASO.dev does not do
- Store full card numbers or CVC codes
- Request write access when read-only verification is enough
- Create charges
- Change Stripe account settings
Connect Lemon Squeezy with an API key
Use this sequence to connect Lemon Squeezy revenue data from ASO.dev:
- Log in to your ASO.dev account.
- Open Dashboard -> List Startup.
- Choose Lemon Squeezy as your data source.
- In Lemon Squeezy, open Settings -> API.
- Create a new API key for ASO.dev.
- Copy the API key and paste it into ASO.dev.
- Select the store to verify, if your account has multiple stores.
- Allow 1-10 minutes for the first sync.
Required fields
- Business Name: the public name ASO.dev should show for this revenue source.
- Lemon Squeezy API Key: the API key created in Lemon Squeezy settings.
- Store ID: optional if ASO.dev can detect stores automatically; recommended for multi-store accounts.
API details
- Base URL:
https://api.lemonsqueezy.com/v1 - Authentication:
Authorization: Bearer {api_key} - Required headers:
Accept: application/vnd.api+jsonandContent-Type: application/vnd.api+json - API keys can be created for live mode or test mode.
- Generated API keys are valid for one year.
What this setup includes
- Orders
- Customers
- Subscriptions
- Subscription invoices
- Subscription items and usage records when available
- Refund and cancellation signals available through Lemon Squeezy API data
Important access note
Lemon Squeezy API keys should be treated as secret credentials. The public Lemon Squeezy API documentation does not describe granular read-only API scopes like Stripe restricted keys or Chargebee read-only keys.
ASO.dev should use the key only for read operations required for revenue verification and store it server-side only.
What ASO.dev does not do
- Create checkout links
- Create, update, pause, resume, or cancel subscriptions
- Create discounts or license key changes
- Modify products, variants, files, or store settings
- Store Lemon Squeezy account passwords
Connect Paddle with a read-only API key
Follow these steps to connect Paddle through ASO.dev:
- Log in to your ASO.dev account.
- Open Dashboard → List Startup.
- Choose Paddle as your data source.
- In Paddle, open Developer Tools → Authentication.
- Create a new API key for ASO.dev.
- Select only the read permissions needed for revenue verification.
- Copy the API key and paste it into ASO.dev.
- Complete your Startup profile (URL, industry, etc.).
- Allow 1–10 minutes for the first sync.
Required Paddle permissions
transaction.readsubscription.readcustomer.readadjustment.read
Optional, depending on how much catalog detail you want ASO.dev to show:
product.readprice.readdiscount.readreport.read
What this setup includes
- Monthly Recurring Revenue (MRR)
- Churn and retention metrics
- Customer Lifetime Value (LTV)
- Disputes and refunds data
What ASO.dev does not do
- Ask for
*.writePaddle permissions - Ask for
payment_method.read - Create charges
- Change settings on your account
Connect Adapty for revenue analytics
Use this sequence to connect Adapty revenue analytics from ASO.dev:
- Log in to your ASO.dev account.
- Open Dashboard -> List Startup.
- Choose Adapty as your data source.
- In Adapty, open App Settings -> General -> API keys.
- Copy the app-specific Secret API key for the production app you want to verify.
- Paste the key into ASO.dev.
- Select the app, platform, and date range to sync.
- Allow 1-10 minutes for the first sync.
Required fields
- Business Name: the public name ASO.dev should show for this revenue source.
- Adapty Secret API Key: the app-specific secret key from Adapty App Settings.
- App Name: optional if ASO.dev can detect the app automatically; recommended for accounts with several apps.
- Timezone: optional IANA timezone used for analytics grouping, for example
Europe/Berlin.
API details
- Analytics Export API host:
https://api-admin.adapty.io(the root/is not a public page and can return404; use the full endpoints below). - Analytics endpoint:
POST https://api-admin.adapty.io/api/v1/client-api/metrics/analytics/ - Cohort endpoint:
POST https://api-admin.adapty.io/api/v1/client-api/metrics/cohort/ - LTV endpoint:
POST https://api-admin.adapty.io/api/v1/client-api/metrics/ltv/ - Retention endpoint:
POST https://api-admin.adapty.io/api/v1/client-api/metrics/retention/ - Authentication header:
Authorization: Api-Key {YOUR_SECRET_API_KEY} - Required request header:
Content-Type: application/json - Optional timezone header:
Adapty-Tz: Europe/Berlin
Important access note
Adapty’s public API documentation describes secret and public API keys, but does not describe granular read-only scopes for the Analytics Export API.
ASO.dev should use the key only for analytics export and revenue verification requests. Treat the key as a secret credential, store it server-side only, and rotate it in Adapty if access should be removed.
What this setup includes
- Revenue analytics
- Monthly Recurring Revenue (MRR)
- Lifetime Value (LTV)
- Cohort and retention metrics
- Conversion and funnel metrics when available
- Store, country, product, paywall, placement, and attribution breakdowns when available
What ASO.dev does not do
- Ask for your Adapty password
- Modify paywalls or remote configs
- Create, update, or delete profiles
- Grant or revoke access levels
- Set transactions
- Change Adapty app settings
Connect Shopify in read-only mode
Use this sequence to connect Shopify securely from ASO.dev:
- Log in to your ASO.dev account.
- Open Dashboard → List Startup.
- Choose Shopify as your data source.
- Enter your Shopify shop domain, for example
your-store.myshopify.com. - Click Connect with Shopify to start Shopify OAuth authorization.
- Review the requested read-only permissions in Shopify.
- Approve the connection.
- Return to ASO.dev after the OAuth redirect.
- Allow 1–10 minutes for the first sync.
OAuth details
- Authorization endpoint:
https://{shop}.myshopify.com/admin/oauth/authorize - Token endpoint:
https://{shop}.myshopify.com/admin/oauth/access_token - Required query parameters:
client_id,scope,redirect_uri,state - ASO.dev must validate the OAuth callback
hmac, verifystate, and confirm theshophostname.
Required Shopify scopes
read_ordersread_customers
For complete historical revenue verification, ASO.dev should request:
read_all_orders
Shopify requires Partner Dashboard approval before an app can request read_all_orders. Without this scope, Shopify order access is limited to the default order window.
Optional, depending on what ASO.dev shows:
read_productsread_discountsread_shopify_payments_disputes
What this setup includes
- Monthly Recurring Revenue (MRR)
- Order and refund-adjusted revenue history
- Customer retention and LTV signals
- Shopify Payments disputes when the optional dispute scope is granted
What ASO.dev does not do
- Ask for Shopify write scopes
- Create, edit, refund, or cancel orders
- Change products, prices, discounts, or store settings
- Store Shopify account passwords
Connect Chargebee with a read-only API key
Use this sequence to connect Chargebee securely from ASO.dev:
- Log in to your ASO.dev account.
- Open Dashboard → List Startup.
- Choose Chargebee as your data source.
- Enter your business name.
- Enter your Chargebee site name, for example
acmeif your Chargebee URL isacme.chargebee.com. - In Chargebee, open Settings → Configure Chargebee → API Keys and Webhooks.
- Create a new Read-only API key for ASO.dev.
- Copy the API key and paste it into ASO.dev.
- Allow 1–10 minutes for the first sync.
Required fields
- Business Name: the public name ASO.dev should show for this revenue source.
- Chargebee API Key: a read-only API key created in Chargebee.
- Site Name: the Chargebee site subdomain, without
.chargebee.com.
API details
- Base URL:
https://{site}.chargebee.com/api/v2 - Authentication: HTTP Basic Auth
- Username: Chargebee API key
- Password: empty
- Test and live Chargebee sites use different API keys.
Recommended key type
Use Read-only: All if ASO.dev needs complete revenue verification data.
Use restricted read-only access only if it includes the transactional billing data needed for subscriptions, customers, invoices, credit notes, orders, transactions, and events.
What this setup includes
- Monthly Recurring Revenue (MRR)
- Subscription and invoice history
- Customer retention and LTV signals
- Refunds, credit notes, and transaction events
What ASO.dev does not do
- Ask for a full-access API key
- Create, update, cancel, or pause subscriptions
- Create invoices, charges, refunds, or credit notes
- Change plans, products, coupons, or account settings