Naładuj to, co katalog mówi, raz, dla odpowiedniej ilości

FixBillingService
Szycy
10 sierpnia 2026 23:54 UTC
Autor
Kamo
Pochęt się
c54414c

Pięć wad, które wszystkie przeniosły prawdziwe pieniądze, plus pod nimi IDOR pod nimi. Cykle rozliczeniowe. Ceny zostały wysłane do Stripe po żądanej przez miesiąc stawce Przerwa roku, więc plan rozstawiony jako "28 USD / miesiąc roczny" wynosił 28 USD raz w roku - a 12x undercharge. QUARTERLY i SEMI_ANNUAL zmapowane do interwału miesiąca i nigdy Ustal interval_count, pomimo komentarza twierdzącego inaczej, rozliczając się w całości Ilość okresów co miesiąc. BillingCycles jest teraz właścicielem konwersji i dokumentów Dwie konwencje cenowe, które naprawdę posiada kod: Plan subskrypcjiPrice Przeznacza stawkę za miesiąc, w sumie. Model cenowy. Każdy dodatek był rozliczany w ilości - miejsca niezależnie od jego cenyModel, więc dodatek do przechowywania w całym orgucie kosztuje 25x na 25-osobowym org, oraz Ponieważ Stripe odrzuca ilość na odmierzoną cenę, w tym uczyniła Cały abonament tworzy rzut. Ilość jest teraz podążająca za modelem: siedzenia dla PER_SEAT, 1 na FLAT, nieobecny dla USAGE_BASED, pominięty dla ONE_TIME. Zmiany w planie. Posty konsoli create() dla "Change Plan"; create() o nazwie Subskrypcja.twórz bezwarunkowo i napisanie zapisanego id, pozostawiając Poprzednia subskrypcja Stripe na żywo i nieodwołowana - rozliczana dwa razy, na zawsze. To się stało. Teraz zmienia istniejącą subskrypcję, gdy jest jedna. update() zyskał plan Zmienić to po cichu odrzucało i godzi każdą linię raczej niż tylko pozycje[0], które pozostawiły ilości dodatkowe zamrożone w dowolnym miejscu Liczenie było w dniu otwarcia abonamentu. Dodatek autoryzacji. update() zapisał addonCodes prosto z organu żądającego, Dokładny samodzielny otwór create() został utwardzony przeciwko: FREE-tier caller "addonCodes":["MLOS"] i uprawić aplikację hipoteczną, niekwotowane. Obie ścieżki przechodzą teraz przez rozwiązanieAddonCodes. Seats. przypis () zapytał tylko, czy istnieje rzęd UNASSIGNED, a wiersze były Nigdy nie zniszczono, gdy liczba miejsc skurczyła się, więc org, który zmniejszył 10 miejsc do 3 Mógłby ponownie zaliczyć wszystkie dziesięć. Teraz sprawdza zdolności produkcyjne zarówno świeże, jak i oddział reaktywacji, odmawia wydania miejsc w nieuniknionym abonamentie, oraz Upewnij się, żeSeatRows odzyskuje wolne miejsca. Anulowana lub nieodpłatna subskrypcja Stripe Teraz wygasa swoje licencje - webhook napisał status i zatrzymał się, więc członkowie Utrzymywał płatne funkcje na czas nieokreślony. Autoryzacja. Udowodnienie posiadania „konkontoUid” było całą kontrolą; obsługiwali Następnie załadowane subskrypcje i licencje według własnego identyfikatora i nigdy nie porównane, więc Parowanie własnego konta id z zagranicznym UUID anulowanym czyimś zapłatą Subskrypcja lub cofnięcie miejsca. Zmierz się centralnie w przechwytywach, tak trasy Dodane później są domyślnie objęte domyślnie. Dodaje pierwsze testy nad konwersją cen, która nie miała żadnego.

Wszystkie zmiany

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.

Start Free ForeverZobacz ceny