Тариф — главный объект покупки; права его наполняют; цена — офер на пейволе.

Тарифы и цены

Тариф (plan) — центр модели. Пользователь покупает тариф (через цену на пейволе).
Права привязаны к тарифу и выдаются при успешной оплате / ключе.
Цена (plan_price) — конкретный офер (месяц / год / lifetime / free) на витрине.

Пейвол
  └── plan_price  ← то, что выбирают и передают в createPayment
        └── plan  ← тариф (срок, lifetime, название)
              └── entitlements[]  ← что откроется после покупки

Тариф (plan)

ПолеЗаметки
codeСтабильный id (arken_pro_year, free)
nameНа пейволе
billing_typeone_time | recurring | lifetime | free
duration_daysСрок для временных тарифов
is_lifetimeБез expiry
statusНа публичный пейвол — active
entitlementsКакие права даёт этот тариф

Цена (plan_prices)

ПолеЗаметки
amountРеальная сумма. 0 = free
currencyнапример RUB
discount_percentТолько UI (зачёркнутая цена)
payment_provideryookassa или free
is_activeДолжен быть true

В ответе API: compare_at_amount, has_discount, display, is_free, requires_purchase, works_offline.

Free

  • billing_type: free и/или amount: 0
  • На пейволе для сравнения
  • Не покупаетсяcreatePaymentfree_plan_offline
  • Базовые фичи free — локально в приложении

Платный

  • amount > 0
  • Успех → subscription-период + выдача прав тарифа
  • Доступ добавляется к free-локальным фичам

Что делать в SDK

  1. getPaywall — показать офферы (тарифы/цены).
  2. Для UI буллетов читать plan.plan_entitlements / entitlement codes.
  3. createPayment({ plan_price_id }) — только платные.
  4. После оплаты — getMyEntitlements / hasEntitlement(code) для гейтов.