Активные и Void вкладки в каталоге Org платформы
Вкладка «Организации» консоли теперь разделена на подзадачи «Актив» и «Пустота». А. voided organization is orgs.is active = FALSE (устанавливается недействитель...
Плата за запуск плана и предложение в прямом эфире
PlanDto нес только повторяющуюся ставку, поэтому каждая поверхность, цитирующая план, указывает цену, которую вы можете получить. С клиента не взимается плата з...
Одна конечная точка за страницей плана клиента
GET /api/billing/self/plan отвечает на все вопросы /myplan renders: что такое план организация может фактически использовать, каталог для сравнения, места и их ...
Внесите плату за запуск на обоих маршрутах в план и запишите согласованные условия
Два маршрута достигают одного и того же плана, и только один из них будет заряжать новый. Плата за запуск на месте. Продажа заказов через SubscriptionService, к...
Закрывайте каждый денежный поток и запускайте две капсулы
BillingService запустила один контейнер, и семь запланированных зачисток были правильными только из-за этого. Там ShedLock нигде на этой платформе нет, поэтому ...
Выполните предложение по бегу и скажите, действительно ли место оплачивается
Добавление GET/markets/{id}/promotion. Не было возможности для поверхности покупки в приложении Знайте, что предложение было запущено вообще - маркетинговый сай...
Билл трехлетний срок, и котировать его курс на консоль
BillingCycles выигрывает тройной, выраженный Stripe как три года. Тридцать шесть месяцев, чтобы обновление отслеживало годовщину регистрации - та же причина Еже...
Линии для каждого сервера в резюме расширений
На вкладке расширения телефонного сервера показана общая организационная цифра и Ничего больше, поэтому пустой сервер KamoPBX отображал "21 платное расширение -...
Отказ от подписки на самообслуживание
Предприятие обсуждается. Скрытие цены - это презентация; это границы. В запросе, называющем план «Энтерпрайз», отказано, если только звонящий не держать *******...
Услуга телефонной связи через расширение
PricingModel.PER EXTENSION, собственный зарезервированный количественный ключ, распределитель, ночной примиритель, ворота для удаления и сводный API - телефонны...
Билл е-мейл на почтовый ящик, помирился по ночам
Количественно сервер вычисляется под зарезервированным ключом, который запрашиваемый орган не может Пройдя через существующий путь исправления — так Стрип CREAT...
Сделайте переигранное событие Stripe no-op
Добавляет BillingWebhookEventClaimService на свой собственный фасоль, с REQUIRES NEW на Каждый метод и провода его в процесс Событие перед диспетчерским выключа...
Опубликовать платную конверсию для отслеживаемых организаций
Оба пути, которые штампуют BillingSourceType.PAID, теперь публикуют marketing.visitor.pay. Потому что подключение только одного бесшумно пропускает половину тра...
Решите доступ к платформе с помощью общего решателя
@PlatformAdminOnly теперь называет платформу именно так, как она требует (по умолчанию). MANAGE ORGANIZATIONS, что и представляет собой поверхность платформы эт...
Носите дату обновления на покрытии и полезной нагрузке группы
Обе поверхности теперь сообщают о текущем PeriodEnd и отменяют AtPeriodEnd. Дата - это что Подтверждение отмены на самом деле должно сказать: «Вы держите свое м...
Один план на организацию, 25-местный потолок предприятия и способ перестать платить
План теперь является решением на уровне организации, и ничто другое не может его отменить. Позволить самостоятельному плательщику или менеджеру группы выбирать ...
Пусть план группы будет отменен, и прекратите двойную оплату за одного человека
Три пробела в том, что было отправлено последним: Группа с планом никогда не может быть удалена. Удалить() Отказаться пока жив подписка существует — правильно,...
Заставьте группы по выставлению счетов работать до конца и прекратите взимать плату за самообслуживание ни за что
Группа теперь может собирать людей, покупать план на собственной карточке своего менеджера. его местами. Ничего из этого не существовало: только операции создав...
Скажите людям, что их платеж не удался, и отложите подписку
Туннель, которого не было. invoice.payment failed написал строку и вернулся: Не было настроено ни электронной почты, ни флага, ни изменения состояния, ни Billin...
Пусть член покупает свое собственное место и закрывает отверстие для параметра тела
Самостоятельной оплаты внутри консоли не было. Все на платёжной поверхности Аккаунт в форме — вы уже должны провести строку AccountMember перед Plans & Биллинг ...
Политика организации и Billing Group API
Кто внутри организации может заплатить Камо, теперь подотчетен и установлен. Оба Маршруты организованы и, следовательно, намеренно за пределами /api/billing/acc...
По умолчанию новая целевая организация подписки для абонента
Первая покупка не имеет существующей подписки на копирование целевой организации, Требование его безусловно - это то, что заставило создать его из консоли. Нево...
Купите блок, когда выбранная организация выходит из комнаты
Происходит вскоре после ночного снимка, потому что это то, что производит цифра использования, которую он решает - расширение против вчерашнего числа купит Кажд...
Пусть изменение цены каталога действительно достигнет Стрип
Цены на полосу неизменны, и отображение занимает одну строку на (орг, тип, код, код). за уникальным ключом, поэтому, как только цена существует, она никогда не ...
Мощность отчетов наряду с использованием
Панель хранения, о которой сообщают байты, хранящиеся ни против чего — никаких надбавок. Никакого процента, никаких денег — так что владелец, смотрящий на 400 Г...
Сделайте первый план доступным для покупки и верните реальные цены плана
Две вещи остановили организацию, когда-либо покупавшую первую подписку. Списки планов были доступны только через sub.marketId по подписке уже проведены, поэтом...
Билль на единицу добавлений по единицам, купленным, а не по численности персонала
Добавляет новое количество надстроек через создание и обновление: теперь надстройка FLAT берет свое количество Stripe из того, что на самом деле купила подписка...
Точка в YugabyteDB и используйте PostgreSQLDialect
CockroachDB был заменен на YugabyteDB. Связные струны движутся от cockroachdb-public:26257 to yb-tserver-service:5433, и диалект Hibernate От **************** д...
Использование изображений с одного дублированного пропуска
Последует за изменением общей библиотеки на одну зарядку на отдельный файл на организации. И резюме, и ежедневный автор снимков берут один визуализация проходит...
Пусть администратор платформы запустит снимок по требованию
Уборка - это то, что делает удаление периода и общую продолжительность жизни для жёстко удаляемые домены вообще подотчётны, поэтому дни, потерянные из-за сбоя, ...
Сообщите, что организация хранит
На вкладке «Статистика учетной записи» всегда говорилось: «Никаких данных об использовании за этот период». для каждой организации, потому что getCurrentUsage()...
Обслуживайте каталог Org как отфильтрованную, отсортированную страницу
GET/orgs берет страницу/размер/q/sort/dir плюс семь фильтров и возвращает дом конверт страниц с совокупными показателями по недвижимости. GET/orgs/{orgId} служи...
Гидратация страницы при постоянном подсчете запросов
Родительские титулы, основная область, план / рынок, лежащий в основе права и права. Флаг каталога подписки - каждый из них помечен IN (:ids) на всей странице. ...
Каталог строк / страниц DTO и репозиторий нативных запросов
PlatformOrgRow несет два аспекта отдельно: право (входящие подсистемы) нацеливание на организацию - что ею управляет) и выставление счетов (счета, которыми влад...
Org Directory SQL с перфасетными CTE
Учетные записи, входящие подписки, члены, лицензиаты и дети агрегировать в собственной КТЭ до присоединения к организациям. Присоединяйтесь к ним в одном Проход...
Проверенный, зажатый запрос каталога Org
Размер зажимов до [1100] и непризнанный сорт возвращается к названию, поэтому URL-адрес, отредактированный вручную, не может ни запросить всю усадьбу, ни достич...
Режим предоставления прав через одного общего детерминированного решателя
TrialAdminService выбрала пробную подписку с помощью FindFirst() неупорядоченный список, поэтому организация, проводящая как ожидающее, так и активное судебное ...
Экспозиция trialExpiresAt на платформе Org Summary для админ-тестов UI
Конечные точки тестирования платформы-администратора / расширения / статуса + DTO trialExpiresAt
Запланированная зачистка возвращает просроченные испытания в Free с кэш-бюстом
Измерение использования электронной подписи + проверка самообслуживания потребителей
#4 Измерение: - EsignMeterSubmissionService (@Scheduled daily): агрегаты API-происхождения EsignUsageRecords per org+period; первые 40/period включены, остальны...
Управление организацией.isPlatformПродукт с платформы → Органы
PlatformAccountSummary разоблачает платформуПродукт + подписка Рынок; новый *************************** (Platform-admin gated) устанавливает флаг и аннулирует п...
Переписать BillingService вокруг BillingGroups
Удалить уровень организации **************** контроллеры, сервисы и DTO. Представляет: - монтажные группы BillingGroupController, участники, подписки, лицензии...
Добавить контроллер PlatformAdmin + сервис для грантов на комп-план
- PlatformAdminController at /api/billing/platform (классовый уровень @PlatformAdminOnly) - GET/orgs, GET/orgs/{orgId} - POST/orgs/{orgId}/grants, PATCH |DELETE...
Enforce team-member pay-fees setting at Stripe customer creation
Bumps kamo-shared-library dependency to 1.5.0 so BillingService can resolve the new AppliedModelEnforcementService, and wires team-member vs org pay-fees enforc...
Initial BillingService — Stripe-integrated billing for KamoCRM
Complete Spring Boot service for managing KamoCRM billing via Stripe: - Stripe Customer, Subscription, PaymentMethod, Invoice lifecycle management - Credit sys...
Как вы видите судоходство?
Каждое из этих обновлений автоматически попадает в ваше рабочее пространство. Начните бесплатно и смотрите, как он растет неделю за неделей.