Сегодня

Живой пульс: воронка, деньги и AI-нагрузка. Дельты — ко вчерашнему дню.

Старты воронки по часам

сегодня, с полуночи
0006121823

Выручка

оплаты на сайте · подписки и разовые покупки порознь
Загружаю…
СУТОЧНЫЙ ПОТОЛОК AI-ЗАПРОСОВ
сброс в 00:00

Воронка сегодня

Ошибки приложения · 24 часа

Падения во Flutter (AppErrorBoundary) и на странице до старта движка — событие app_error. Пусто — хорошо; одинаковые схлопнуты, число — сколько раз.
Загружаю…

История

Покупки, отмены, лиды и ошибки — одной лентой. Фильтр — по типу.
ВРЕМЯТИПКТОДЕТАЛИСУММА

Лимиты

Дневные лимиты AI на пользователя. Применяются сервером — форма лишь просит об изменении.
Значения проверяются и применяются Edge Function'ом с ролью admin. Прямой записи из браузера нет.

Текстовые запросы

в день на пользователя

Картинки

в день на пользователя

Потолок проекта

все пользователи, в день · ЖЁСТКИЙ: при переполнении запросы останавливаются

Сегодняшняя нагрузка

с 80% полоса краснеет; на 100% сервер отвечает «перегружен» и не тратит бюджет
СЕГОДНЯ · —
—порог 80%

Расход по людям

Загружаю…
E-MAILПЛАНЗАПРОСОВТОКЕНЫ ВХОДТОКЕНЫ ВЫХОД✦ СПИСАНО≈ $КАРТИНОКПОСЛЕДНИЙ ДЕНЬ
Загружаю…

Люди и PRO

Поиск по e-mail, статус доступа, ручные действия — всё с записью в аудит-лог.
E-MAILПЛАНСТАТУСОТКУДАС НАМИ СДЕЙСТВИЯ

Контент

Уроки и библиотека промптов правятся здесь и публикуются без релиза приложения. Все 11 языков приложения. Структура (какие курсы, уроки, категории и промпты есть, в каком порядке) общая для всех языков, тексты — по языкам. У языка без перевода документа нет: его пользователи видят английскую версию, редактор показывает именно её, только для чтения, и предлагает создать перевод. Приложение подхватывает новую версию при следующем открытии. Каждая публикация — версия: любую можно вернуть.
Войди админом — каталог загрузится с сервера.

Письма и каналы

Цепочки A (после квиза) · K (подтверди адрес) · B (после оплаты) · C (реактивация) · D (контент) · E (персональные предложения) — docs/STEPAI_JOURNEY.md. Шлёт часовой тик email-drip; здесь — что ушло и как открывали, выпуски D и макросы поддержки. Рекламные письма (все, кроме служебных A-0 и K-1 и чеков) идут только тем, у кого есть галочка и подтверждённый адрес.

По шагам за 30 дней

войди админом
ШАГКАНАЛОТПРАВЛЕНОДОСТАВЛЕНООТКРЫЛИКЛИКНУЛИОТБОЙ/СПАМОШИБКИОТПИСКИ
Нет данных.

Предпросмотр письма

так письмо уйдёт контакту-образцу; укажи e-mail — увидишь с данными реального контакта
Выбери шаг и нажми «Показать».

Выпуски D — разбор инструмента

вт/чт 10:00 · раз в 10–14 дней
Тема с задачей, за которую платят · готовый промпт внутри · одна ссылка. Три языка: без перевода выпуск уйдёт на языке, который есть.

Очередь выпусков

Тик берёт один выпуск за раз, партиями по 150 писем в час.
СЛАГСЕГМЕНТКОГДАСТАТУСУШЛО
Пусто.

Макросы поддержки

спецификация, лист «Поддержка» · клик — скопировать

Предложения

Персональные предложения из писем E-1…E-4: пробный доступ, подарок ✦ или скидка на план. Только чтение. Выдаёт их часовой тик email-drip, и только при OFFERS_ENABLED=1; срок исполняют оплата на сайте и вебхук.
Войди админом — данные подтянутся из базы.

По правилам

E-1…E-4 — правила выдачи. E-5 («кончаются ✦») предложения не выдаёт, только письмо.
ПРАВИЛОВЫДАНОДЕЙСТВУЮТПОГАШЕНОИСТЕКЛИАННУЛИРОВАНЫПОГАШЕНО, %
Загружаю…

Выданные предложения · последние 100

ВЫДАНОКОНТАКТПРАВИЛОВИДЗНАЧЕНИЕПЛАНСТАТУССРОК ДОПОГАШЕНО
Загружаю…

Кредиты ✦ и покупки

1 ✦ = $0,01 у провайдера ИИ. Только чтение: счета и журнал ✦, а также покупки магазина — с сайта (WayForPay) и из магазинов приложений.
Войди админом — данные подтянутся из базы.

Журнал ✦ за 30 дней

что выдали, что потратили, что сгорело
ЧТОЗАПИСЕЙ✦
Загружаю…

Разовые покупки за 30 дней

по тому, кто принял деньги
ОТКУДАШТ.СУММА
Загружаю…

Последние 20 покупок

КОГДАКОНТАКТТОВАРОТКУДАСУММАСТАТУС
Загружаю…

Топ-10 счетов по остатку

адреса частично скрыты
КОНТАКТВСЕГО ✦КВОТАКУПЛЕННЫЕПРИВЕТСТВЕННЫЕОКНО КВОТЫ ДО
Загружаю…

Настройки

Прайс UA — одна строка в базе (app_config · pricing): её читают пейвол, лендинг, письма и сверка суммы в вебхуке оплаты. Меняется редко — ломает много: всё через подтверждение словом.

Прайс UA (₴)

regular — якорь «до скидки», sale — цена на пейволе до колеса

Plus и Max (₴)

пусто — цена по умолчанию; в продаже только при включённых выключателях ниже

Триал

Офферы

Сектора колеса: −5…−30%, выигрыш всегда максимальный — задано в коде приложения, здесь read-only.
Загружаю прайс из базы…
Куда доезжает: письма и сверка оплаты — сразу; лендинг — в пределах минуты; приложение — при следующем запуске (кеш на устройстве). Старую цену вебхук принимает ещё 24 часа: кто открыл пейвол до смены — доплачивать не будет.
Магазин и кредиты ✦
Пока всё выключено, у людей всё как раньше: ни одного нового экрана и ни одного нового списания. Перед сохранением админка пересказывает простыми словами, что изменится для людей, и просит слово.

Выключатели магазина

Войди админом — текущие значения подтянутся из базы.
В текущем коде приложения режим только читается: экраны его пока не применяют (задача C3), поэтому смена режима для людей ничего не меняет. Режим lesson_first говорит о бесплатном уроке, а бесплатного входа с 08.10.2026 нет.

Цены магазина (₴)

Войди админом — текущие значения подтянутся из базы.
ТОВАРЦЕНА, ₴ПО УМОЛЧАНИЮГРАНИЦЫ

Цена отдельного курса, сертификата или набора

Отмена с удержанием
Когда человек с подпиской на сайте нажимает «Отменить», приложение может предложить одно из трёх: паузу, скидку на следующий платёж или (годовым тарифам) переход на месяц. Отмена при этом доступна всегда. Пока выключено, у людей всё как раньше.

Предложения при отмене

Войди админом — текущие значения подтянутся из базы.
1…60 · на столько дней «пауза» сдвигает следующее списание и доступ
5…35 · на один следующий платёж; ниже пола «не в минус» скидки не будет
30…1095 · через сколько дней после принятого предложения подписке можно предложить снова

Принятые предложения при отмене · последние 20

Войди админом — данные подтянутся из базы.
ПРИНЯТОКОНТАКТПРЕДЛОЖЕНИЕТАРИФСПИСАНИЕДОСТУП ДОСТАТУС
Загружаю…

FAQ

Что есть что в админке. Короткие пояснения — ещё и под «?» у каждого блока. Правило: новая функция в админке появляется вместе с ответом здесь.

Общее

Откуда берутся цифры?

Только из боевой базы и только после входа админом. Пока база не ответила, вместо чисел стоят прочерки «—» или «Загружаю…». Прочерк значит «не знаю», а не ноль. Выдуманных данных в админке нет.

Что за точка внизу слева?

Состояние подключения к базе. Зелёная и «RLS · live» — ты вошёл админом, данные живые. Жёлтая — не вошёл, у аккаунта нет роли администратора или не загрузилась библиотека базы.

Вошёл, а пишет «роли admin нет».

Аккаунт есть, но его нет в списке администраторов. Добавить туда может только владелец, через базу.

Мои действия где-то записываются?

Да. Выдача доступа, смена цен, выключателей магазина и удержания при отмене, смена лимитов, публикация контента пишутся в журнал с автором и временем. Входы в админку — тоже, их видно в «Истории».

Что за «?» рядом с заголовками?

Короткое пояснение к блоку. Нажми — откроется; нажми ещё раз, мимо или Esc — закроется.

Сегодня

Визиты и лиды — в чём разница?

Визит — любой посетитель сайта или приложения за сегодня. Лид — тот, кто оставил e-mail: на вебе перед ценой, в приложении при регистрации.

С чем сравниваются проценты?

С тем же временем вчера. В 10 утра сегодняшние цифры сравниваются со вчерашними до 10 утра, а не с целым вчерашним днём — иначе утром любая метрика выглядела бы падением. У выручки сравнения нет.

От чего считаются проценты в воронке?

От всех, кто сегодня открыл сайт или приложение. Не от лендинга: ссылки из писем ведут сразу в приложение, и шаги ниже вышли бы за 100%.

Что будет, когда потолок AI дойдёт до 100%?

Сервер перестанет отвечать на AI-запросы всех пользователей до полуночи. Это страховка бюджета. Поднять потолок можно на экране «Лимиты».

В загруженный день визитов меньше, чем в аналитике.

Экран считает уникальных посетителей по первым 5000 событиям дня. Для точного счёта нужен подсчёт на сервере — это в списке доработок.

Что в карточке «Выручка»?

Оплаты на сайте (WayForPay) за сегодня и за 30 дней, подписки и разовые покупки порознь. «Подписки» — оплаты тарифов. «Разовые покупки» — товары: пакеты ✦, курсы, сертификаты, наборы промптов; их оплата в журнале платежей имеет статус «purchased», а название товара лежит в колонке плана. «Итого» — сумма обоих видов. Возвраты показаны отдельно и из выручки не вычтены. Оплата в другой валюте в итог не входит. Покупки в App Store и Google Play здесь не видны — они на экране «Кредиты ✦». Пока оплат нет, везде нули.

Почему «Оплатили» в воронке — только подписки?

Строка считает людей с оплатой тарифа: событие purchase_succeeded без sku. Оплата товара пишет такое же событие, но с sku — она не шаг воронки и показана отдельной строкой под ней. Тестовые покупки песочниц магазинов (environment = sandbox) тоже считаются отдельно и в деньги не входят. Оплату пишет сервер, у него нет anon_id, поэтому человека считаем по его аккаунту.

История

Что попадает в ленту?

Платежи, новые лиды и входы в админку — последние 30 записей. Платёж помечается по статусу: «Покупка» — оплачен, «Не завершён» — человек начал оплату и не закончил, «Возврат» — деньги вернули, «Ошибка» — банк отказал, срок вышел или сумма не совпала.

А отмены подписок?

Сюда не попадают. Сколько людей отменили подписку — на экране «Люди и PRO».

Лимиты

Почему форма «просит», а не меняет сразу?

Браузер в базу не пишет. Значения проверяет и применяет сервер; если число вне допустимых границ, он откажет и скажет, какие границы.

Не сохраняется, пишет «не загрузились».

Сохранять можно, только когда текущие значения пришли из базы: иначе пустое поле стало бы нулём. Нажми «Отменить» — значения перечитаются.

Где сбросить счётчики за сегодня?

Такой операции нет. Раньше здесь была кнопка, которая спрашивала подтверждение и ничего не делала; её убрали. Счётчики обнуляются сами в полночь.

Люди и PRO

Чем отличаются статусы?

Лид — только адрес, аккаунта нет. Зарегистрирован — есть аккаунт, не платит. Активна — действующая подписка. Отменена — отключил продление или подписка закончилась.

Как выдать доступ вручную?

Найди человека по e-mail → «Открыть» → блок «Доступ». Выдача пишется в журнал действий.

«Отменили подписку» — это за месяц?

За всё время. Отключившие продление пользуются доступом до конца оплаченного срока.

Что значит блок «Рассылка» в карточке человека?

Согласие на рекламные письма: поставил ли человек галочку (и когда), какая версия текста была рядом с галочкой, из какой страны пришёл запрос, подтвердил ли он адрес письмом K-1 и не отписался ли. Реклама идёт только при галочке И подтверждённом адресе. Старые записи (до 11.10.2026) могут иметь согласие без доказательства галочки: оставить их или сбросить решает владелец. Пока миграция 20261011120000 не применена, колонок с доказательствами в базе нет — блок скажет об этом и покажет только то, что есть в старой записи.

Что за значок рядом с адресом в списке?

«Реклама» — галочка и подтверждённый адрес, рекламные письма идут. «Ждёт подтверждения» — галочка есть, кнопку в письме K-1 человек ещё не нажал. «Старое согласие» — запись до 11.10.2026 без доказательства галочки. «Отписан» — рекламы нет. Нет значка — галочки не было.

Контент

Черновик и публикация — в чём разница?

Черновик видят только администраторы. Публикация становится новой версией, и приложение подхватит её при следующем открытии — без выпуска новой версии приложения.

Как откатить неудачную правку?

«История версий» → нужная версия → «Сделать текущей». Старое содержимое опубликуется новой версией с пометкой «откат к vN»; историю это не переписывает.

Что делает «Импорт из сборки»?

Берёт уроки, зашитые в текущую сборку приложения, и публикует их как новую версию. Нужен, когда в базе контента ещё нет.

Приложение не видит мою правку.

Приложение берёт опубликованную версию при запуске. Черновик оно не видит; после публикации достаточно закрыть и снова открыть приложение.

Почему у языка стоит ∅ и текст английский?

Перевода на этот язык ещё нет. Пользователи с таким языком интерфейса видят английскую версию — она и показана, только для чтения. «Создать перевод из английского» копирует документ; переведи тексты и опубликуй. Языков одиннадцать, свои переводы обычно есть у UK, RU и EN.

Что значит ✎ рядом с языком?

Перевод создан, но часть строк ещё совпадает с английским. Публиковать можно, но полную копию английского админка не пропустит: это не перевод.

Как поставить картинку курсу или уроку?

Выбери курс или урок слева → поле «Обложка» → «Загрузить картинку». Файл ужимается в браузере (курс — до 600 px по ширине, урок — до 1200) и сохраняется в WebP, поэтому каталог не начинает весить сотни мегабайт. Адрес записывается сразу во все языки: картинка одна на всех, переводить в ней нечего. После загрузки не забудь опубликовать — до публикации её видишь только ты.

Откуда берётся обложка, если я ничего не грузил?

У курса — рисуется иконка. У урока — картинка по его адресу в хранилище, если она туда попала раньше; иначе цветная заглушка. Загрузка заменяет и то и другое.

Заменил картинку, а в приложении старая.

Файл перезаписывается по тому же адресу, поэтому к нему дописывается метка времени — приложение видит новый адрес и перечитывает картинку. Если ты вписал адрес руками без метки, браузер может ещё сутки показывать старую.

«Убрать» удаляет файл?

Нет. Из каталога уходит только адрес, сам файл остаётся в хранилище — так можно вернуть обложку, вписав адрес обратно.

Пишет, что нет доступа при загрузке.

Загружать картинки может только аккаунт с ролью администратора. Если роль есть, а ошибка осталась — выйди и зайди заново: сессия могла устареть.

Обязательно переводить на все языки?

Нет. Без перевода язык показывает английскую версию, и приложение работает. Переводи в порядке трафика; для Украины достаточно UK и RU.

Письма и каналы

Какие бывают цепочки?

A — после квиза, K — «подтверди адрес», B — после оплаты (и после отмены), C — возврат ушедших, D — контентные выпуски, E — персональные предложения и «кончаются ✦». Письма рассылает запуск раз в час.

Куда уходит «Отправить мне»?

На твой адрес администратора — с теми же отправителем и ссылками, что получит клиент.

Что такое «отбой/спам»?

Письмо не доставлено, потому что ящика нет, или получатель отметил его как спам. Рост этой цифры портит доставку всех наших писем.

Чем A-0 отличается от K-1?

Оба — служебные письма, не реклама: они идут и без галочки на рекламу (но не отписавшимся). С 11.10.2026 A-0 — нейтральное «план готов» без цен и без подписи CEO: оно уходит тому, кто оставил адрес без галочки. Поставившему галочку вместо него уходит K-1 — просьба подтвердить адрес одной кнопкой; пока кнопка не нажата, рекламных писем не будет.

Какие письма реклама, а какие нет?

Реклама (все письма A со второго, B-1…B-5, B-7, B-8w, B-9, B-10, C, E и выпуски D) уходит только тем, у кого есть галочка и подтверждённый адрес. Служебные (A-0, K-1) — без галочки, но с кнопкой отписки. Чеки и условия подписки (B-0, B-0r, B-6, B-6t, B-6y, B-12, B-13, B-8) идут всем, кроме отбитого адреса и жалобы, и без ссылки отписки: от чека не отписываются.

Что за письма E-1…E-5 и B-13?

E-1…E-4 — персональные предложения (пробный доступ, подарок ✦, скидка на месячный), E-5 — «кончаются ✦» с ценой пакета. B-13 — квитанция за покупку товара (пакет ✦, курс, сертификат, набор). Письма E уходят только при OFFERS_ENABLED=1 и только тем, кто пришёл с сайта и дал согласие. B-13 — чек, он идёт и без согласия.

Что за письмо B-10 «скучаем»?

Рекламное письмо на 3-й день после отмены подписки на сайте: итог пройденного (сколько уроков, какой последний), без цен и скидок, две кнопки — «вернуть подписку» и «открыть приложение». Уходит тем, кто дал согласие на рекламу и не отписан. Живёт за выключателем «Отмена с удержанием» (Настройки): пока он выключен, письма нет. При включении E-4 «вернись» переезжает с 30-го дня на 14-й, а B-9 на 30-й день становится последним письмом без предложения.

Почему в предпросмотре E-* написано «образец»?

Предпросмотр ничего не выдаёт и не читает из базы: значение, срок и код предложения (sample0000), название курса и числа ✦ взяты для примера. «Отправить мне» шлёт то же письмо с образцом — ссылка предложения в нём не сработает. Настоящее предложение создаёт только часовой тик, когда присылает письмо контакту.

В таблице статистики одна строка на шаг?

Да. Журнал хранит повторяющиеся шаги по ключу (B-6 за каждую дату, B-13 за каждую покупку, E-5 за каждое окно квоты); админка сводит их в одну строку на шаг. Выпуски D остаются по строке на каждый выпуск.

Настройки

Что затронет смена цены?

Цена одна для пейвола, лендинга, писем и проверки суммы оплаты. Письма и проверка — сразу, лендинг — в пределах минуты, приложение — при следующем запуске.

А если человек открыл пейвол до смены цены?

Старую цену сервер принимает ещё 24 часа — доплачивать его не заставят.

Зачем вводить слово для сохранения?

Изменение касается денег. Слово защищает от случайного нажатия.

Не сохраняется, пишет «прайс не загрузился».

Сохранение разрешено, только когда цены пришли из базы: пустое поле иначе стало бы нулём. Обнови страницу.

Что делают выключатели магазина?

Четыре переключателя и режим пейвола в одной строке базы. «Магазин» открывает экран магазина и приём заказов на товары. «Кредиты ✦» переводят чат с дневного лимита запросов на кредиты ✦. «Тарифы Plus и Max» открывают продажу этих тарифов. «Платные наборы промптов» — продажу наборов (нужен готовый контент). Пока всё выключено, у людей всё как раньше. Перед сохранением админка пересказывает простыми словами, что изменится, и просит слово. Оплаченный заказ сервер принимает всегда, что бы ни стояло.

Почему нельзя включить «Кредиты ✦» без «Магазина»?

Чат уже считал бы ✦, а когда они кончатся, докупить пакет было бы негде. Правила: «Кредиты ✦» требуют «Магазин», «Тарифы» требуют «Кредиты ✦», «Наборы промптов» требуют «Магазин». Нарушение подсвечено красным, и сохранить нельзя.

Что такое режим пейвола?

soft — как сейчас: пейвол можно закрыть. lesson_first — один бесплатный урок, потом пейвол без «Назад» (бесплатного входа с 08.10.2026 нет, режим этому противоречит). hard — пейвол без «Назад» сразу после квиза. В текущем коде приложения режим только читается и экраны его пока не применяют (задача C3): смена режима для людей ничего не меняет.

Как задать цену отдельного курса, сертификата или набора?

В блоке «Цены магазина» нажми «+ добавить цену», выбери вид, впиши id (как у курса в приложении, например n8n_make) и цену. Пока цена не задана, курс стоит ₴399, сертификат ₴249, набор ₴149. Цена не ниже ₴49 и не выше ₴100 000. Пакеты ✦ и «Хранилище» — отдельные строки сверху; ниже пола «не в минус» цену сервер не примет.

Что такое «Отмена с удержанием»?

Когда человек с подпиской, оплаченной на сайте (WayForPay), нажимает «Отменить», приложение может показать ему одно предложение: паузу (следующее списание и доступ сдвигаются на несколько дней бесплатно), скидку на один следующий платёж или, если тариф годовой, переход на месячный. Отмена при этом доступна всегда. В блоке «Отмена с удержанием» задаются выключатель и три числа: дни паузы (1–60), скидка (5–35 %) и как часто можно предлагать одной подписке (30–1095 дней). По умолчанию выключено — пока так, у людей всё как раньше. Деньги по принятым предложениям меняются у WayForPay, поэтому перед сохранением админка пересказывает, что изменится, и просит слово УДЕРЖАНИЕ. Подписки из App Store и Google Play и пробный период предложений не получают. В базе это ключ cancel_offers; ключ retention — другое (сроки хранения данных).

Когда можно включать удержание при отмене?

Когда выложено всё по порядку: миграция 20261011130000, функции cancel-offers, cancel-offers-tick, email-drip и admin-config, почасовой тик и экраны отмены в приложении. Если таблицы cancel_offers в базе нет, блок покажет красную пометку «миграция не применена»: включать рано. Выключение безопасно: уже принятые предложения всё равно исполнятся (скидка вернётся к обычной сумме, переход на месяц доведётся до конца).

Что значат статусы в таблице «Принятые предложения при отмене»?

«Исполнено» — пауза применена, скидка сработала на один платёж и обычная сумма вернулась, или переход на месяц довёл тариф до месячного. «Ждёт продления» — предложение принято и подтверждено провайдером, скидка или переход сработают при ближайшем списании. «Не вышло» — вернуть обычную сумму или довести тариф не удалось, почасовой тик повторяет попытку: это повод посмотреть вручную (причина написана под меткой). «Закрыто» — подписку отменили, заменили новой оплатой, вернули деньгами или она закончилась; тик её больше не трогает. Адреса частично скрыты, таблица только для чтения.

Как поменять цены Plus и Max?

В блоке «Plus и Max (₴)» рядом с прайсом. Пустое поле — цена по умолчанию (Plus ₴249 в месяц и ₴1 499 в год, Max ₴899 и ₴5 299). Цена не ниже пола «не в минус», годовая не дороже двенадцати месячных. Значения сохраняются вместе с остальным прайсом.

Предложения и кредиты ✦

Что на экране «Предложения»?

Персональные предложения из писем E-1…E-4 (таблица personal_offers): правило, вид (пробный доступ, подарок ✦, скидка), значение, план, статус, срок и когда погашено. Сверху — сколько выдано, действует, погашено, истекло и доля погашенных; адреса частично скрыты. Только чтение. Пока письма E выключены (OFFERS_ENABLED не равна 1), таблица пуста — это нормально.

Что значит «обязательство» на экране «Кредиты ✦»?

Сколько ✦ лежит на счетах сейчас: квота в окнах, которые ещё идут (сгоревшая не считается), плюс приветственные плюс купленные. Столько люди ещё могут потратить; по $0,01 за ✦ это максимальный расход у провайдера, если потратят всё.

Как считаются «выдано» и «потрачено» за 30 дней?

По журналу движений ✦ (credit_ledger). Выдано — новые окна квоты, доплата при повышении тарифа, приветственные, купленные пакеты и подарки по предложениям. Потрачено — списания на ответы ИИ. Оценка расхода у провайдера = потрачено × $0,01. Сгоревшая квота и снятое при возврате показаны отдельными строками.

Почему на экране «Кредиты ✦» пусто?

Пока выключатель «Магазин» выключен, покупок, счетов и записей в журнале нет — экран показывает «пока нет данных». Покупки в App Store и Google Play видны только здесь (в «Выручке» на экране «Сегодня» их нет); Google для разовых покупок цену не передаёт, у таких покупок сумма «—».