Перейти к содержимому

Интеграции выручки: Stripe, Paddle, RevenueCat, Shopify и другие | ASO.dev

В разработке  Будет доступно скоро

Подключите источники выручки к ASO.dev, чтобы подтверждать MRR, анализировать retention и держать subscription metrics в синхронизации.

Эти инструкции сфокусированы на read-only, report-only или analytics-only доступе. Некоторые провайдеры поддерживают явные read-only scopes. Другие используют API keys без гранулярных read-only scopes; в таких случаях ASO.dev должен хранить ключ только на сервере и использовать его только для чтения при проверке.

Поддерживаемые интеграции выручки

Section titled “Поддерживаемые интеграции выручки”
  • App Store Connect
  • Google Play
  • RevenueCat
  • Stripe
  • Lemon Squeezy
  • Paddle
  • Adapty
  • Shopify
  • Chargebee

Как подключить Google Play в режиме read-only

Подключите Google Play revenue reports к ASO.dev по следующей схеме:

  1. Войдите в аккаунт ASO.dev.
  2. Откройте Dashboard -> List Startup.
  3. Выберите Google Play как источник данных.
  4. Создайте Google Cloud service account для ASO.dev.
  5. В Play Console откройте Users and permissions и пригласите email service account.
  6. Выдайте read/report permissions, нужные для financial data.
  7. Скачайте service account JSON key и загрузите его в ASO.dev.
  8. Укажите developer bucket ID, например pubsite_prod_rev_0123456789.
  9. Укажите package name, если ASO.dev должен сначала синхронизировать одно приложение.
  10. Дождитесь первой синхронизации — обычно это занимает 1-10 минут.

Нужные поля

  • Business Name: публичное название, которое ASO.dev будет показывать для этого источника выручки.
  • Service Account JSON: Google Cloud service account key, который используется на сервере.
  • Developer Bucket ID: private Google Cloud Storage report bucket, обычно pubsite_prod_rev_....
  • Package Name: опционально, но рекомендуется для app-level verification.

Рекомендуемые Play Console permissions

  • View app information and download bulk reports (read-only) с global access.
  • View financial data, orders, and cancellation survey responses с global access.

Для app-level access в Google Play также есть View financial data, но загрузка financial reports из Google Cloud Storage требует financial access на правильном уровне.

Детали API/report access

  • Financial и sales reports лежат в private Google Cloud Storage bucket.
  • Programmatic downloads используют OAuth2 server-to-server auth с Google Cloud Storage read-only scope: https://www.googleapis.com/auth/devstorage.read_only.
  • Estimated sales reports генерируются ежедневно.
  • Earnings reports генерируются в начале месяца.

Что будет настроено

  • Google Play estimated sales reports
  • Earnings reports
  • Subscription statistics reports, если они доступны
  • Refund и order-related financial rows из отчётов Google Play

Что ASO.dev не делает

  • Не запрашивает пароль от Google account
  • Не запрашивает app publishing permissions
  • Не загружает releases и не редактирует store listings
  • Не делает refunds и не отменяет subscriptions
  • Не изменяет monetization products или prices

Как подключить App Store Connect в режиме read-only

Подключите отчёты App Store Connect к ASO.dev по следующей схеме:

  1. Войдите в аккаунт ASO.dev.
  2. Откройте Dashboard -> List Startup.
  3. Выберите App Store Connect как источник данных.
  4. В App Store Connect откройте Users and Access -> Integrations -> App Store Connect API.
  5. Создайте новый API key с доступом к Sales and Trends reports.
  6. Скопируйте Issuer ID и Key ID.
  7. Скачайте .p8 private key.
  8. Найдите Vendor Number в App Store Connect payments and proceeds.
  9. Введите credentials в ASO.dev и дождитесь первой синхронизации — обычно это занимает 1-10 минут.

Нужные поля

  • Business Name: публичное название, которое ASO.dev будет показывать для этого источника выручки.
  • Issuer ID: идентификатор issuer в App Store Connect API.
  • Key ID: идентификатор созданного API key.
  • Private Key: .p8 key, скачанный из App Store Connect.
  • Vendor Number: нужен для загрузки Sales и Finance reports.

Детали API

  • Sales reports endpoint: GET https://api.appstoreconnect.apple.com/v1/salesReports
  • Finance reports endpoint: GET https://api.appstoreconnect.apple.com/v1/financeReports
  • Authentication: JWT, подписанный App Store Connect API private key.
  • Sales reports требуют filter[vendorNumber], filter[reportType], filter[reportSubType] и filter[frequency].
  • Finance reports требуют filter[vendorNumber], filter[regionCode], filter[reportType] и filter[reportDate].

Рекомендуемый доступ

Используйте API key или user access level, который может скачивать Sales and Trends reports.

Если ASO.dev нужны settled payout/proceeds data, у ключа также должен быть доступ к Payments and Financial Reports.

Что будет настроено

  • App Store sales и proceeds reports
  • Отчёты по auto-renewable subscriptions
  • Subscriber и subscription event reports
  • Refund и proceeds data, если они доступны в отчётах Apple

Что ASO.dev не делает

  • Не запрашивает Apple ID password
  • Не использует two-factor login sessions
  • Не редактирует apps, metadata, pricing, in-app purchases или subscriptions
  • Не отправляет builds или releases
  • Не изменяет tax, banking или agreement settings

Как подключить RevenueCat в режиме read-only

Подключите RevenueCat безопасно по следующей схеме:

  1. Откройте URL авторизации RevenueCat из вашей интеграции ASO.dev.
  2. Войдите в RevenueCat.
  3. Разрешите только read-only доступ к данным проекта и клиентов.
  4. Подтвердите авторизацию.
  5. После редиректа вернитесь в ASO.dev.
  6. Завершите настройку интеграции и выберите проект для синхронизации.
  7. Первичная синхронизация обычно занимает 1–10 минут.

Безопасность

  • OAuth-флоу с редиректом (authorization_code).
  • Пароль от RevenueCat не передаётся.
  • Мы запрашиваем только:
    • project_configuration:projects:read
    • customer_information:customers:read
    • customer_information:subscriptions:read
    • customer_information:purchases:read
  • Public OAuth clients должны добавлять PKCE: code_challenge и code_challenge_method=S256.
  • Server-side confidential clients обменивают authorization code с использованием зарегистрированных client credentials.
  • Доступ можно отозвать в RevenueCat в любой момент.

Authorization URL для ASO.dev

Используйте такой шаблон для генерации RevenueCat authorization URL в 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_STATE

Для public client добавьте:

&code_challenge=PKCE_CODE_CHALLENGE&code_challenge_method=S256

Что это даёт

  • Безопасная синхронизация истории повторяющихся платежей.
  • Данные для расчёта MRR и анализа churn.
  • Видимость возвратов и chargeback-метрик для верификации.

Как подключить Stripe в режиме read-only

Следуйте этим шагам для безопасного подключения Stripe через ASO.dev:

  1. Войдите в аккаунт ASO.dev.
  2. Откройте DashboardList Startup.
  3. Выберите Stripe как источник данных.
  4. Нажмите Connect with Stripe для запуска Stripe Connect OAuth-авторизации.
  5. Выберите нужный Stripe-аккаунт.
  6. Разрешите доступ только для чтения (read-only), если Stripe показывает такой запрос.
  7. Дождитесь возврата на страницу ASO.dev после редиректа.
  8. Заполните профиль стартапа (URL, ниша и т.д.).
  9. Дождитесь синхронизации: обычно это занимает 1–10 минут.

Детали OAuth

  • Endpoint авторизации: https://connect.stripe.com/oauth/authorize
  • Обязательные параметры: response_type=code, client_id
  • Рекомендуемые параметры: redirect_uri, scope=read_only, state
  • redirect_uri должен быть зарегистрирован в Stripe, а в live mode должен использовать HTTPS.
  • После редиректа ASO.dev должен проверить возвращённые state и scope.
  • Если Stripe не вернул read_only, ASO.dev должен остановить синхронизацию и попросить пользователя подключиться заново.

Что анализируется после подключения

  • MRR (Monthly Recurring Revenue)
  • Показатели churn и retention
  • LTV (Lifetime Value)
  • Данные по спорам и возвратам

Что ASO.dev не получает и не делает

  • Не хранит полные номера карт и CVC-коды
  • Не запрашивает write-доступ, если для верификации достаточно read-only
  • Не создаёт платежи
  • Не изменяет настройки Stripe-аккаунта

Как подключить Lemon Squeezy через API key

Подключите Lemon Squeezy revenue data к ASO.dev по следующей схеме:

  1. Войдите в аккаунт ASO.dev.
  2. Откройте Dashboard -> List Startup.
  3. Выберите Lemon Squeezy как источник данных.
  4. В Lemon Squeezy откройте Settings -> API.
  5. Создайте новый API key для ASO.dev.
  6. Скопируйте API key и вставьте его в ASO.dev.
  7. Выберите store для верификации, если в аккаунте несколько stores.
  8. Дождитесь первой синхронизации — обычно это занимает 1-10 минут.

Нужные поля

  • Business Name: публичное название, которое ASO.dev будет показывать для этого источника выручки.
  • Lemon Squeezy API Key: API key, созданный в Lemon Squeezy settings.
  • Store ID: опционально, если ASO.dev может определить stores автоматически; рекомендуется для аккаунтов с несколькими stores.

Детали API

  • Base URL: https://api.lemonsqueezy.com/v1
  • Authentication: Authorization: Bearer {api_key}
  • Required headers: Accept: application/vnd.api+json и Content-Type: application/vnd.api+json
  • API keys можно создавать для live mode или test mode.
  • Сгенерированные API keys действуют один год.

Что будет настроено

  • Orders
  • Customers
  • Subscriptions
  • Subscription invoices
  • Subscription items и usage records, если они доступны
  • Refund и cancellation signals, доступные через Lemon Squeezy API data

Важное замечание про доступ

Lemon Squeezy API keys нужно считать секретными credentials. В публичной документации Lemon Squeezy API не описаны granular read-only API scopes как у Stripe restricted keys или Chargebee read-only keys.

ASO.dev должен использовать ключ только для read operations, нужных для revenue verification, и хранить его только server-side.

Что ASO.dev не делает

  • Не создаёт checkout links
  • Не создаёт, не обновляет, не ставит на паузу, не возобновляет и не отменяет subscriptions
  • Не создаёт discounts и не меняет license keys
  • Не изменяет products, variants, files или store settings
  • Не хранит пароль от Lemon Squeezy account

Как подключить Paddle через read-only API key

Следуйте этим шагам для подключения Paddle через ASO.dev:

  1. Войдите в аккаунт ASO.dev.
  2. Откройте DashboardList Startup.
  3. Выберите Paddle как источник данных.
  4. В Paddle откройте Developer ToolsAuthentication.
  5. Создайте новый API key для ASO.dev.
  6. Выберите только read-права, нужные для верификации выручки.
  7. Скопируйте API key и вставьте его в ASO.dev.
  8. Заполните профиль стартапа (URL, ниша и т.д.).
  9. Дождитесь синхронизации — обычно это занимает 1–10 минут.

Нужные Paddle permissions

  • transaction.read
  • subscription.read
  • customer.read
  • adjustment.read

Опционально, если ASO.dev должен показывать больше деталей по каталогу:

  • product.read
  • price.read
  • discount.read
  • report.read

Что будет настроено

  • MRR (Monthly Recurring Revenue)
  • Показатели churn и retention
  • LTV (Lifetime Value)
  • Данные по спорам и возвратам

Что ASO.dev не делает

  • Не запрашивает Paddle permissions вида *.write
  • Не запрашивает payment_method.read
  • Не создаёт платежи
  • Не изменяет настройки аккаунта

Подключение Adapty для revenue analytics

Используйте этот сценарий, чтобы подключить revenue analytics из Adapty в ASO.dev:

  1. Войдите в аккаунт ASO.dev.
  2. Откройте Dashboard -> List Startup.
  3. Выберите Adapty как источник данных.
  4. В Adapty откройте App Settings -> General -> API keys.
  5. Скопируйте app-specific Secret API key для production-приложения, которое нужно подтвердить.
  6. Вставьте ключ в ASO.dev.
  7. Выберите приложение, платформу и период синхронизации.
  8. Подождите 1-10 минут для первой синхронизации.

Обязательные поля

  • Business Name: публичное название, которое ASO.dev должен показывать для этого источника выручки.
  • Adapty Secret API Key: app-specific secret key из Adapty App Settings.
  • App Name: опционально, если ASO.dev может определить приложение автоматически; рекомендуется для аккаунтов с несколькими приложениями.
  • Timezone: опциональный IANA timezone для группировки аналитики, например Europe/Berlin.

API-детали

  • Хост Analytics Export API: https://api-admin.adapty.io (корень / не является публичной страницей и может отдавать 404; используйте полные endpoints ниже).
  • 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/
  • Заголовок авторизации: Authorization: Api-Key {YOUR_SECRET_API_KEY}
  • Обязательный заголовок запроса: Content-Type: application/json
  • Опциональный заголовок timezone: Adapty-Tz: Europe/Berlin

Важное замечание про доступ

Публичная документация Adapty описывает secret и public API keys, но не описывает гранулярные read-only scopes для Analytics Export API.

ASO.dev должен использовать ключ только для запросов экспорта аналитики и проверки выручки. Ключ нужно хранить как секретный credential только на сервере и ротировать в Adapty, если доступ нужно удалить.

Что входит в подключение

  • Revenue analytics
  • Monthly Recurring Revenue (MRR)
  • Lifetime Value (LTV)
  • Cohort и retention metrics
  • Conversion и funnel metrics, если доступны
  • Разбивки по store, country, product, paywall, placement и attribution, если доступны

Что ASO.dev не делает

  • Не запрашивает пароль от Adapty
  • Не изменяет paywalls или remote configs
  • Не создает, не обновляет и не удаляет profiles
  • Не выдает и не отзывает access levels
  • Не отправляет set transaction
  • Не меняет настройки приложения в Adapty

Как подключить Shopify в режиме read-only

Подключите Shopify к ASO.dev по следующей схеме:

  1. Войдите в аккаунт ASO.dev.
  2. Откройте DashboardList Startup.
  3. Выберите Shopify как источник данных.
  4. Укажите домен магазина Shopify, например your-store.myshopify.com.
  5. Нажмите Connect with Shopify для запуска Shopify OAuth-авторизации.
  6. Проверьте read-only permissions, которые показывает Shopify.
  7. Подтвердите подключение.
  8. После OAuth-редиректа вернитесь в ASO.dev.
  9. Дождитесь первой синхронизации — обычно это занимает 1–10 минут.

Детали OAuth

  • Endpoint авторизации: https://{shop}.myshopify.com/admin/oauth/authorize
  • Token endpoint: https://{shop}.myshopify.com/admin/oauth/access_token
  • Обязательные параметры: client_id, scope, redirect_uri, state
  • ASO.dev должен проверить hmac в OAuth callback, сверить state и подтвердить корректность shop hostname.

Нужные Shopify scopes

  • read_orders
  • read_customers

Для полной исторической верификации выручки ASO.dev должен запросить:

  • read_all_orders

Shopify требует approval в Partner Dashboard перед тем, как приложение сможет запрашивать read_all_orders. Без этого scope доступ к заказам ограничен стандартным окном заказов.

Опционально, если ASO.dev должен показывать больше деталей:

  • read_products
  • read_discounts
  • read_shopify_payments_disputes

Что будет настроено

  • MRR (Monthly Recurring Revenue)
  • История выручки с учётом заказов и возвратов
  • Сигналы retention и LTV по клиентам
  • Shopify Payments disputes, если выдан optional dispute scope

Что ASO.dev не делает

  • Не запрашивает Shopify write scopes
  • Не создаёт, не редактирует, не возвращает и не отменяет заказы
  • Не изменяет продукты, цены, скидки или настройки магазина
  • Не хранит пароль от Shopify-аккаунта

Как подключить Chargebee через read-only API key

Подключите Chargebee к ASO.dev по следующей схеме:

  1. Войдите в аккаунт ASO.dev.
  2. Откройте DashboardList Startup.
  3. Выберите Chargebee как источник данных.
  4. Укажите название бизнеса.
  5. Укажите Chargebee site name, например acme, если ваш Chargebee URL выглядит как acme.chargebee.com.
  6. В Chargebee откройте SettingsConfigure ChargebeeAPI Keys and Webhooks.
  7. Создайте новый Read-only API key для ASO.dev.
  8. Скопируйте API key и вставьте его в ASO.dev.
  9. Дождитесь первой синхронизации — обычно это занимает 1–10 минут.

Нужные поля

  • Business Name: публичное название, которое ASO.dev будет показывать для этого источника выручки.
  • Chargebee API Key: read-only API key, созданный в Chargebee.
  • Site Name: Chargebee subdomain без .chargebee.com.

Детали API

  • Base URL: https://{site}.chargebee.com/api/v2
  • Authentication: HTTP Basic Auth
  • Username: Chargebee API key
  • Password: пустой
  • Test и live Chargebee sites используют разные API keys.

Рекомендуемый тип ключа

Используйте Read-only: All, если ASO.dev нужны полные данные для верификации выручки.

Restricted read-only key подходит только если в нём включены transactional billing data для subscriptions, customers, invoices, credit notes, orders, transactions и events.

Что будет настроено

  • MRR (Monthly Recurring Revenue)
  • История подписок и инвойсов
  • Сигналы retention и LTV по клиентам
  • Refunds, credit notes и transaction events

Что ASO.dev не делает

  • Не запрашивает full-access API key
  • Не создаёт, не обновляет, не отменяет и не ставит подписки на паузу
  • Не создаёт invoices, charges, refunds или credit notes
  • Не изменяет plans, products, coupons или настройки аккаунта