Биллинг-платформа для продуктов

Все деньги продукта
в одном ядре

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

Панель Genesis, экран «Обзор» Панель Genesis, экран «Потребление» Панель Genesis, экран «Тарифы» Панель Genesis, экран «Клиенты» Панель Genesis, экран «Кошельки» Панель Genesis, экран «Платежи»
О платформе

Один счетовод —
ноль расхождений

Цифру выдаёт только Genesis

Знаков после запятой — сколько задали

Подключить проект

Цена токена в 0,0000324188 ₽ не схлопывается в ноль: движок держит доли копейки на каждом шаге и округляет один раз — на границе кошелька.

2 300 токенов стоят 0,07456324 ₽

Сумма цен всех событий равна итогу периода. Ровно, без копейки сверху.

Правило движка  |  цена события — прирост цены периода
Модули, которые
работают вместе
Тарифы Потребление Кошельки Платежи Промо Инвойсинг
Модули

Биллинг целиком,
а не по кускам

Включайте то, что нужно проекту. Модули говорят друг с другом через ядро: инвойсинг сам подтягивает кошельки, платежи и тарифы.

Тарифы и расчёт

(01)

Шесть моделей начислений, ступени, пакеты и процент с транзакции. Цена события и закрытие периода — из одного движка, у тарифа есть версии.

Ступени и пакеты Модификаторы Версии тарифа
Подробнее о сервисе →

Учёт потребления

(02)

Сырые события пачками до тысячи за запрос, идемпотентно по transaction_id. Списание считает период целиком и снимает только разницу.

До 1000 событий Без двойных списаний Агрегат за период
Подробнее о сервисе →

Кошельки

(03)

Баланс каждого потребителя в точности счёта: сколько знаков после запятой, решаете при его создании. Списание идёт с ключом идемпотентности.

Точность проекта Холды Возвраты
Подробнее о сервисе →

Платежи

(04)

У каждого проекта свой мерчант: коннекторы, платежи и ключи изолированы. Счёт на пополнение — только когда готов фискальный чек.

Свой мерчант Фискальный чек Пополнение кошелька
Подробнее о сервисе →

Промо и партнёрка

(05)

Скидки, бесплатные единицы, доля спонсора промо. Трекинг, атрибуция и реферальные выплаты — поверх тех же проводок.

Кто платит за скидку Атрибуция Рефералы
Подробнее о сервисе →

Инвойсинг

(06)

Счета и закрывающие документы по уже посчитанному. Цена за единицу уходит с полной точностью и не теряется при умножении.

Счета Чеки Проводки по сторонам
Подробнее о сервисе →
Сценарии

Под какие продукты
это собрано

AI API с оплатой за токены

Как работает
Вход, выход и кэш — отдельные корзины со своей ценой за токен.
Модули
Тарифы, потребление, кошельки

Площадка с комиссией

Как работает
Комиссия площадки и сбор эквайринга — модификаторы тарифа, каждая нога отдельной проводкой.
Модули
Тарифы, платежи, инвойсинг

SaaS с оплатой по объёму

Как работает
База плюс ступени по объёму; промо гасит часть счёта, а кто её оплачивает — задаётся.
Модули
Тарифы, промо, кошельки
Подключение

От ключа
до первого списания

Три шага. Остальное — тарифные версии, повторы, округления — Genesis держит сам.

Проект и ключ

Заведите проект в панели, выпустите ключ API и включите нужные модули.

Панель01/03

Тариф

Соберите метрики и начисления в конструкторе или опубликуйте каталог через API. Каждая правка — новая версия.

Конструктор02/03

События

Шлите объём потребления — до тысячи событий за запрос. Genesis посчитает период и спишет разницу с кошелька.

API03/03
Возможности

Всё, что нужно деньгам

Точность вместо округлений

Точность задаётся при создании счёта — хоть два знака, хоть двенадцать. Промежуточные шаги её не теряют, округление одно — на списании.

Повтор без двойного списания

Дубль события схлопывается по transaction_id. Прогон списания фиксируется до вызова кошелька, и таймаут после проводки не превращается во второе списание.

Каждый проект — отдельно

Свой мерчант, свои ключи, свои кошельки. Платежи и коннекторы одного проекта не видны другому.

Проводки по сторонам

Расчёт отдаёт не только сумму, но и ноги: покупатель, продавец, площадка, эквайер, спонсор промо. Бухгалтерии нечего сводить вручную.

Архитектура

Ядро и сервисы вокруг

Кошельки хранят, платежи принимают, каталог тратит — а цену каждому выдаёт ядро. Второго счетовода нет, значит нет и расхождений.

Кошельки

Баланс потребителя с точностью проекта, списание по ключу идемпотентности.

Платежи

Свой мерчант на проект, пополнение только при готовом фискальном чеке.

Промо

Скидки, бесплатные единицы, доля спонсора — правила промо, расчёт в ядре.

Genesis

Инвойсинг

Счета и чеки по уже посчитанному, цена за единицу уходит с восемью знаками.

Каталог тарифов

Правка цены видна в обе стороны; побеждает последняя по времени.

Партнёрка

Трекинг, атрибуция и реферальные выплаты поверх тех же проводок.

Для кого

Приложения, боты, SaaS —
один биллинг на всё

Genesis не знает, что вы продаёте. Он знает объём, тариф и кошелёк — этого хватает и боту за 99 ₽, и платёжной площадке с миллионом операций.

Приложения

Внутренний баланс: мелкая покупка списывается сразу, крупная — через холд и подтверждение.

wallet · hold → capture

Боты

Оплата за сообщение, картинку или минуту голоса. Бот шлёт объём — цену считает Genesis.

usage · request

SaaS

База за период, ступени, пакеты и промо. Новая цена — новая версия тарифа.

graduated · package

Транзакционные сервисы

Процент и фикс с операции в пределах мин и макс, деньги делятся между сторонами.

percentage · split

Приложения для ТВ

Фильм поштучно или пакет каналов с баланса. Пополнение — по счёту с готовым чеком.

standard · wallet
Кошельки и счета

Счета в любой валюте,
даже в своей

Каждому пользователю — счёт в нужной валюте с той точностью, что задали при создании. Каждая операция идёт с ключом идемпотентности: повтор запроса не спишет дважды.

Операции со счётом
ПополнениеСписаниеПереводХолд → списаниеОтмена холдаРаздел между сторонамиОткат разделаЗаморозкаЗакрытиеИстория операцийМассовое пополнениеТипы кошельков

Холд резервирует деньги до результата: такси, бронь, долгая генерация. Получилось — списываете, нет — отпускаете. Раздел отправляет части платежа продавцу, площадке и агенту одной операцией.

Свои валюты и курсы
РубльRUB · 2 знака
ДолларUSD · 2 знака
КристаллыGEM · 0 знаков
ТокеныTKN · 12 знаков
500 GEM 250,00 ₽ курс проекта · котировка → обмен

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

Модели начислений

Шесть способов
посчитать цену,
один движок

Раньше запрос на 2 300 токенов стоил 0 ₽ — каждый компонент округлялся до целой копейки. Теперь движок держит доли и отдаёт честную сумму.

Было0 ₽
Стало
Модели
начислений
06моделей
в одном движке
  1. 01
    Стандартнаяединицы × цена
    standard
  2. 02
    Ступенчатаякаждая ступень по своей цене, сумма
    graduated
  3. 03
    Объёмнаяодна ступень на весь объём
    volume
  4. 04
    Пакетная⌈(единицы − бесплатные) ÷ размер⌉ × цена
    package
  5. 05
    Процентна транзакцию: ставка + фикс, в пределах мин и макс
    percentage
  6. 06
    Ступени с процентомступени плюс процент от суммы
    graduated_percentage

Один счетовод. Ноль расхождений.

Цену выдаёт Genesis. Кошельки её хранят, сервисы тратят, панель показывает.

Пример: apihub

Как это работает
в apihub

apihub — маркетплейс API и моделей ИИ. Продавцы ставят цену, покупатели платят за токены и запросы, а деньги считает Genesis. Пройдите путь одного рубля по шагам.

шаг 1 из 6

Продавец ставит цену

Продавец заводит предложение: модель и цену за входные и выходные токены. apihub публикует тариф в Genesis — по метрике на каждую корзину. Тот же набор второй раз версию не поднимает.

POST /api/v1/plans/publish
{
  "code": "offer-acme-gpt-tokens-128",
  "interval": "monthly",
  "amount_cents": 0,
  "metrics": [
    "offer-acme-gpt-tokens-128-input",
    "offer-acme-gpt-tokens-128-output",
    "offer-acme-gpt-tokens-128-cache_read"
  ]
}
// упрощено

Покупатель приходит

Genesis заводит потребителя и его кошелёк. Один человек — один потребитель, через какой бы вход он ни пришёл: виджет или биржа.

POST /internal/customers/provision
{ "external_id": "u_8841", "email": "dev@example.com" }

→ 201  cust_01jc7…
→ кошелёк RUB создан

Пополняет баланс

Счёт на пополнение выставляется, только когда готов фискальный чек. Деньги приходят через мерчанта проекта и ложатся на кошелёк покупателя.

wallet_deposit  5 000,00 ₽
  ↳ fiscal-readiness   ok
  ↳ счёт выставлен
  ↳ payment.confirmed
  ↳ кошелёк +5 000,00 ₽

Делает запросы

На каждый запрос apihub шлёт только объём: сколько токенов вошло и вышло. Суммы в событии нет — запрос с полем amount или price отклоняется. Повтор с тем же transaction_id не запишется второй раз.

POST /internal/usage/events
{ "events": [
  { "transaction_id": "req_77f2",
    "metric": "…-input",  "value": 1820 },
  { "transaction_id": "req_77f2-o",
    "metric": "…-output", "value": 480 }
] }

Деньги списываются

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

POST /internal/usage/charge

запрос          0,13452264 ₽
  buyer → seller      начисление
  seller → platform   комиссия
списано с кошелька, ключ идемпотентности
зафиксирован до вызова

Цена меняется

Правка в панели Genesis уходит в apihub вебхуком plan.updated, правка в кабинете — публикацией. Если цену правили в двух местах, побеждает последняя по времени.

POST hub.gnzs.pro/api/internal/genesis/webhook
X-Webhook-Signature: 3f9a…
{
  "event": "plan.updated",
  "priced_at": "2026-11-04T10:12:00Z"
}
→ apihub: новая версия цены
Вебхуки

Каждое событие —
вашему сервису

Цена поменялась, счёт оплачен, промо сработало — Genesis сообщает сам. Не нужно опрашивать API, чтобы узнать, что произошло с деньгами.

Подпись
Каждое письмо подписано — заголовок X-Webhook-Signature, подделку видно сразу.
Повторы
Получатель лёг или ответил 5xx/429 — повтор через 10 секунд, минуту и пять минут.
Подписка по маске
Все события, только plan.* или одно конкретное — на каждый адрес свой набор.
Безопасный адрес
Только https и только публичные адреса: внутреннюю сеть вебхуком не достать.
Развёртывание

Облако или
свой кластер

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

Облако

Создали проект, выпустили ключ — и шлёте события.

  • Инфраструктура, обновления и резервные копии — на нас
  • Каждый проект изолирован: свой ключ, свой мерчант, свои кошельки
  • Панель и API доступны сразу

Свой кластер, on-premise

Ставится в ваш контур — ядро, кошельки, платежи и инвойсинг отдельными сервисами.

  • Деньги, события и персональные данные не покидают периметр
  • Масштабируете каждый сервис отдельно — под свою нагрузку
  • Тот же API, что в облаке: переезд без переписывания кода
Тарифы

От первого продукта
до своей площадки

Старт  |  для первого продукта По запросу
Начать
Что входит

Один проект с тарифами по потреблению и кошельками покупателей.

  • Тарифы и конструктор
  • Учёт потребления
  • Кошельки
  • Панель и API
Платформа  |  для площадок По запросу
Обсудить
Что входит

Несколько проектов, приём платежей, комиссии и выплаты сторонам.

  • Всё из «Старта»
  • Платежи со своим мерчантом
  • Промо и партнёрка
  • Инвойсинг и проводки
Вопросы

Частые
вопросы

Кто считает деньги, если у меня свой сервис?

Только Genesis. Событие потребления не несёт суммы: запрос с полем amount, cost, price или currency отклоняется. Ваш сервис шлёт объём, цену выдаёт движок.

Что будет, если событие придёт дважды?

Ничего. Повтор с тем же transaction_id не записывается второй раз, а прогон списания фиксируется до обращения к кошельку — повтор после таймаута идёт с тем же ключом.

Можно поменять цену тарифа на ходу?

Да. Правка создаёт новую версию тарифа и уходит вебхуком в связанные сервисы. Если цену правили в двух местах, побеждает последняя правка.

С какой точностью считаются суммы?

С той, что задана при создании счёта, — потолка в восемь знаков нет. Промежуточные шаги точность не теряют, округление одно: на списании, до точности счёта.

Можно поставить Genesis у себя?

Да. Кроме облака, Genesis ставится кластером в ваш контур: ядро, кошельки, платежи и инвойсинг — отдельными сервисами. API тот же, что в облаке.

Можно завести свою валюту?

Да. Валюта проекта создаётся с кодом, названием и точностью; курсы к другим валютам задаёте сами, обмен идёт по котировке. Подходит и для игровых кристаллов, и для счетов в разных странах.

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

Подключите модуль платежей: у проекта появится свой мерчант. Пополнение кошелька выставляется только тогда, когда чек готов к фискализации.

Связаться

Посчитаем
ваш продукт

Панель
app.gnzs.pro ↗

Расскажите о проекте

Где каждая копейка посчитана. Выбирайте Genesis.