Витрина: SDK получает офферы → тариф → права тарифа.

Пейволы

Paywall — именованная витрина. SDK не «запрашивает тариф отдельно» на старте UI:
обычно getPaywall('main') → внутри уже лежат цены и тарифы с правами.

SDK.getPaywall("main")
  → items[]
      → plan_price_id / amount / is_free
      → plans (тариф)
          → plan_entitlements → entitlements (code, name)

Поля

ПолеЗаметки
codeОбычно main
nameВ админке
title / subtitleТексты для UI
statusПублично только active
itemsСписок plan_price_id (оферы)

Элементы

ПолеЗаметки
plan_price_idЧто показать / что купить
positionПорядок
is_recommendedПодсветка
badgeОпционально
custom_title / custom_subtitleПереопределения

Запрос

GET /v1/applications/{app_code}/paywalls/{paywall_code}
X-Public-Key: YOUR_PUBLIC_KEY

JWT не нужен.

Клиент

  1. Нарисовать карточки из plan + plan_price.
  2. Буллеты / сравнение — из plan.entitlements (или свой статичный UI, как в продукте).
  3. Покупка: createPayment с plan_price_id (не free).
  4. Доступ к фичам после покупки: hasEntitlement, не «название тарифа».