Aktywna i pustowa zakładki w katalogu org platformy
Zakładka Organizacji Konsoli dzieli się teraz na sub-tabs Active i Void. A A Unieważniona organizacja to orgs.is_active - FALSE (ustawione przez pustkę Security...
Porzuć zdarzenie webhook, którego pierwsza próba zginęła, i odrzuć jeden, którego SDK nie może przeczytać
Przegrane roszczenie w nieprzetworzonym wierszu zawsze odpowiadało 500, więc zdarzenie którego pierwsza próba nie powiodła się (wyjątkowy wyścig w środku faukcj...
Tylko nieudane ładunek zaczyna się dusować, a Stripe musi się zgodzić przed wydłumieniem aktów
Faktura.finalizowana niesie Państwo status-otwarta z kwotą należną za każdą Auto-naładowana faktura przed próbą opłaty, a faktura Obsługa uruchomiła zegara zawi...
Strażnik tej samej komp-com-odbudowa nigdy nie mógł wystrzelić, a kontrola trawienia nie otworzyła się
Obie zabezpieczenia przed rozmieszczeniem, które nie rozmieszczają niczego, były obojętne, więc rurociąg Zgłosił dwie zielone miejsca pracy, podczas gdy strąki ...
Wiosna katalogowa nazewnatowa aplikacji, której ta kompilacja nie jest rozwiązyna, nie jest na sprzedaż
ServiceTypeConverter przestał rzucać nieznanym id aplikacją i zaczął ją rozwiązywać Do zerwania, co jest tym, co musi zrobić służba — enum statki w każdym słoju...
Cena, o której Stripe nigdy nie słyszała, to wina, a nie cisza
Pogońcący porównał zmapowane ceny w stosunku do katalogu i wrócił wcześniej Za każdym razem, gdy nic nie było w ogóle odwrócono. Tak więc termin, który katalog ...
Załaduj to, co mówi ekran, i odrzuć, a nie udawaj
Audyt konsoli Plans & Billing przed kluczami na żywo Stripe znalazł szwy Pomiędzy ekranem a Stripe zepsuty w każdym kierunku naraz i cichy w Wszystkie. Żadna or...
Opłata za uruchomienie planu i oferta na żywo, na podsłuchu
PlanDto miał tylko powtarzające się tempo, więc każda powierzchnia cytując plan podana cena Klient nie zostałby obciążony: opłata startowa KamoCRM wynosi 99 USD...
Jeden punkt końcowy stojący za własną stroną planu klienta
GET /api/billing/self/plan odpowiada na wszystko /myplan renders: plan, jaki jest Organizacja może faktycznie wykorzystać, katalog do porównania, siedzenia i ic...
Udowodnij wdrożenie przez trawienie, a nie przez tag
Poprzednia zatwierdzona powstrzymuje „ustawę obrazu” jako cichy no-op. To potwierdza: Wynik: po wdrożeniu znacznik jest rozdzielony do trawienia w rejestrze i U...
Odbudowa tego samego zobowiązania nie rozmieściła niczego i zgłosiła sukces
Obraz jest oznaczony za pomocą commit SHA, więc odbudowa tego samego commita Identyczne odniesienie do obrazu. Obraz z zestawem kubecttl ?, a następnie nic nie ...
Ustaw opłatę za start-up na obu trasach do planu i zanotuj wynegocjowane warunki
Dwie trasy docierają do tego samego planu i tylko jedna z nich zamierzała naładować nowy Opłata za start-miejscowe. Rachunki za zamówienie sprzedażowe poprzez S...
Zablokuj każde zamiatanie i uruchom dwie kapsułki
BillingService uruchomił jedną kapsułę, a jego siedem zaplanowanych przeszukań było poprawnych tylko z tego powodu. Tam Nie jest ShedLock nigdzie na tej platfor...
Niech rollout zakończy to, co robiła stara kapsuła
Wdrażania zastąpiły jedyną kapsułę każdej usługi, nie mając nic do złapania żądań w - Lot. Trzy ustawienia, zastosowane w całej flocie: - PreStop śpi 10s, zani...
Przestań oferować wewnętrzny plan właściciela platformy na sprzedaż
ListPlansForMarket filtrowany na samym isActive, a aktywny to nie to samo, co w Menu. OWNER_UNLIMITED ("Właściciel formy — wewnętrzny") jest aktywny, nie Ligi c...
Podawaj ofertę biegową i powiedz, czy miejsce jest rzeczywiście PAID dla
Dodaje GET /markety/-y-/promocja. Nie było możliwości, aby powierzchnia kupna w aplikacji Wiedz, że oferta była w ogóle uruchomiona - strona marketingowa czytał...
Ustaw trzyletnią kadencję i pomów na konsolę
BillingCycles zyskuje TRIENNIAL, wyrażony Stripe jako trzy lata, a nie Trzydzieści sześć miesięcy więc odnowienie śledzi rocznicę rejestracji – ten sam powód AN...
Linie perserowe na podsumowaniu rozszerzeń
Poszerzenia serwera telefonicznego pokazały liczbę całej organizacji i Nic więcej, więc pusty serwer KamoPBX wyświetlał "21 rozszerzeń płatnych — $63.00 / miesi...
Platforma org nie jest zamknięta przez własny katalog
Platforma org została poinformowana "Wymaga dodatku do KamoPBX Hosting" na własną rękę Ekran telefonu-serwer, dla dodatku, który publikuje. Jest właścicielem k...
Odmowa subskrypcji firmy Enterprise
Enterprise jest negocjowane. Ukrywanie się w cenę jest prezentacją; to jest Granica. Prośba o nazwanie planu Enterprise zostanie odrzucona, chyba że dzwoniący P...
Usługa telefoniczna Billa przez rozszerzenie
PricingModel.PER_EXTENSION, własny zarezerwowany klucz ilościowy, alokator, a) Nocny gogodr, brama do usuwania i podsumowujący API - telefoniczny bliźniak Praca...
Zeskanuj pakiet współdzielonego-lib email.billing repozytorium
WableJpaRepositories notuje pakiety wyraźnie, więc MailboxBillingDayRepository była niewidzialna, a służba odmówiła rozpoczęcia od samego początku – złapana prz...
Odbudowa przed obecną kamo-wspólna biblioteka
CI klony współdzielone-lib w czasie budowania obrazu. Usługa ta została ostatnio zbudowana wcześniej DIRECT shared-lib zyskał GMAIL_PERSONAL oraz OUTLOOK_PERSON...
Bill e-mail na skrzynkę pocztową, pojednany w nocy
Ilość jest księgowana w ramach zarezerwowanego klucza, którego organ żądający nie może Dojście i przepchnąć istniejącą ścieżkę zmian – więc Stripe's CREATE_PROR...
Zamknąć nawiązywanie webhook idempotencji luki końcowej BL0
Znalezienie 1 (Krytyczne): przegrane roszczenie tylko na imprezie zbiorem Stripe Udowodnił, że istnieje rząd, a nie to, że poprzednia próba się zakończyła. A tw...
Nie chwij się efemeral na próbę, którą tworzy Stripe
Runda 2 recenzja (Ruling 17) została wykaziona "czy to stworzenie?" jest konieczne, ale Niewystarczająco. Pytanie, które ma znaczenie: czy może ten temat Należy...
Klucze należą do Stripe tylko, a nie na mutacje
Przegląd rundy 1 (Ruling 15) stwierdził, że Krytyczny: stabilna idempotencja Klucz na aktualizacji/ancel/attach/detach nie jest zabezpieczeniem, jest błędem. Te...
Spraw, aby każdy Stripe napisał idempotent, i nie udaj się zbudować na nowym bez klucza
Eksout gniazda na Stripe pisze, że faktycznie się to udało, jest Nieodróżnialne, z naszej strony, od tego, który tego nie zrobił; bez Klucz idempotency, który p...
Zobowiązanie przetworzonej flagi z napisem pieniędzy, a nie przed nim
MarkProcessed był REQUIRES_NEW, więc dopuścił się przetworzonych?trutych podczas Pieniądze z obsługi pisze, że nadal były niezreagowane w zawieszonym na zewnątr...
Udowodnij bibliotekę HQL analizuje na Hibernate, że ta usługa faktycznie działa
Kamo-shared-library buduje na Boot 3.3.4 / Hibernate 6.5; BillingService działa Buty 3.1.5 / Hibernate 6.2.13. W związku z tym własne testy HQL biblioteki przec...
Spraw, aby wydarzenie powtórne Stripe było no-op
Dodaje BillingWebhookEventClaimService na własną rękę, z REQUIRES_NEW Każda metoda i przełącza ją do procesuWydarzenie przed przełącznikiem wysyłki. Przegrana r...
Przypnij opcjonalny nagłówek podpisu i przykryj wszystkie trzy gałęzie awarii dla wycieków ciała
Odpowiedź Stripe webhooks z odpowiednim statusem i nigdy nie odbija się echem od wyjątku
Pin kamo-wspólne biblioteka 1.6.0
Biblioteka przeniosła się na 1.6.0, podczas gdy każdy konsument pozostał na 1.5.0. Konsument CI Buduje bibliotekę ze świeżego klonu w zimnym ?/m2 i ci-settings....
Przestań sprzedawać dodatki, które wybrany plan zawiera już
Katalog zawsze rejestrował, które dodatki pakiety planowe, w - Biznes i przedsiębiorstwa przewożone Konferze wideo, asystent AI, system HR i e-podpisy. Nic Na ś...
Publikuj płatna konwersję dla śledzonych organizacji
Obie ścieżki, które stemplują BillingSourceType.PAID, teraz publikują marketing.visitor.paid, Ponieważ tylko jeden po cichu pomija połowę ruchu — AccountSubscri...
Rozmiar kapsuły nad własnym sufitem JVM [skip ci]
Obraz rozpoczyna JVM od -XX:MaxRAMPercentage -70 -XX:+Always PrereTouch, więc Sama kasa może przyjąć 70% limitu pojemnika, a wstępny dotyk utrzymuje wszystkie z...
Zdecyduj dostęp do platformy ze współdzielonym desolatorem
PlatformAdminOn teraz nazywa platformę w prawo, której wymaga (domyślnie domyślne do tego, aby MANAGE_ORGANIZATIONS, o czym jest powierzchnia platformy tej usłu...
Przenieś datę odnowienia na pokrycie i ładunki grupy
Obie powierzchnie informują teraz o aktualnej PeriodEnd i cancelAtPeriodEnd. Data jest tym, co Potwierdzenie anulowania musi powiedzieć: "Trzymasz swoje miejsce...
Anulowanie zatrzymuje przyszłe faktury i nic więcej
Anulowanie nie ma już "natychmiastowej" flagi, a żadna trasa zorientowana na klienta nie może pytać Dla jednego. Przypisanie tego prawdziwego zakończyło subskry...
Jeden plan na organizację, 25-miejscowy pułap Enterprise i sposób na zaprzestanie płacenia
Plan jest teraz decyzją na poziomie organizacji i nic innego nie może go zastąpić. Pozwalanie samopłatnikowi lub kierownikowi grupy wybrać własne odczyty jak ży...
Niech plan grupy zostanie anulowany i przestań płatować podwójnie za jedną osobę
Trzy luki w tym, co zostało wysłane: Grupa z planem nigdy nie może zostać usunięta. delete() odmawia podczas zamieszkania Subskrypcja istnieje - poprawne, poni...
Spraw, aby grupy rozliczeniowe działały na koniec i przestań za darmo za darmo za nic
Grupa może teraz gromadzić ludzi, kupować plan na własnej karcie swojego menedżera i ręcznie - Na zewnątrz. Nic z tego nie istniało: jedyne operacje były tworzo...
Odbudowa na przemieliny stół grupy pay-group
Podmiot przeszedł z billing_groups do billing_pay_groups po tym, jak się okazało Ten pierwszy to tabela na żywo o innym kształcie. Ta usługa wciąż jest Posiada ...
Zatrzymaj wysyłanie wspólnego poświadczenia jako domyślnego zobowiązania konfiskatowego
Podzielone hasło platformy zostało upieczone jako upadek dla DB_PASSWORD i MINIO_ROOT_PASSWORD, więc żył w tym repo i na zbudowanym obrazie, jak również W groma...
Powiedz ludziom, że ich płatność nie powiodła się i zachwić subskrypcję
Wyniszczenie, które nie istniało. invoice.payment_failed napisało wiersz i zwróciło: Nie skonfigurowano e-maila, bez flagi, brak zmiany stanu, a billing.email-s...
Pozwól członkowi kupić własne miejsce i zamknąć otwór na karpas.
Samopłacenie nie miało drogi wewnątrz konsoli. Wszystko na powierzchni rozliczeniowej jest W kształcie konta – musisz już posiadać wiersz kontaMemior, zanim Pla...
Org polityka i grupy rozliczeniowe APIs
Kto w organizacji może zapłacić Kamo jest teraz odpowiedzialny i ustawiony. Oba Trasy są lubg-scoped i dlatego celowo na zewnątrz /api/billing/konta/ . I jego p...
Jak to, co widzisz żeglugę?
Każda z tych aktualizacji automatycznie ląduje w miejscu pracy. Zacznij za darmo i obserwuj, jak rośnie tydzień po tygodniu.