File active și Void în directorul org platforma
Fila organizaţiilor consolei se împarte în sub-tabe active şi Voide. A Organizaţia anulată este orgs.is activă = FALSE (setată prin vidul Serviciului de Securit...
Taxa de pornire a unui plan, și oferta live, pe fir
PlanDto transporta doar rata recurentă, astfel încât fiecare suprafață citând un plan a citat un preț client nu ar fi taxate: taxa de pornire KamoCRM este $99 u...
Un obiectiv din spatele paginii propriului plan al clientului
GET /api / facturare / sine / plan raspunsuri totul / planul meu redă: planul, ceea ce organizarea poate folosi, de fapt, catalogul pentru a compara cu, scaune ...
Facturează taxa de pornire pe ambele rute către un plan și înregistrează condițiile negociate
Două rute ajung la acelaşi plan şi doar una dintre ele urma să încarce noul taxa de pornire pe scaun. O factură de comandă scrisă prin SubscriptionService, care...
Bloca fiecare matura de bani în miscare, si rula doua capsule
Serviciul de facturare a fugit o capsulă și șapte matura programate au fost corecte doar din cauza ei. Acolo. nu este ShedLock oriunde pe această platformă, ast...
Servi oferta de funcționare, și spune dacă un loc este de fapt PAID pentru
Adaugă GET / Markets/ {id}/promovare. Nu a fost nici o cale pentru o suprafață de cumpărare în aplicație știu o ofertă a fost difuzate la toate catalog public ...
Bill termenul de trei ani, și citez rata sa la consola
BillingCycles câștigă TRIENNIAL, exprimat la Stripe ca trei ani, mai degrabă decât Treizeci și șase de luni, astfel încât reînnoirea urmărește aniversarea de în...
Linii de server pe rezumatul extensiilor
Fila de extensii a serverului telefonului a arătat cifra la nivel de organizație și nimic altceva, astfel încât un server KamoPBX gol afişat "21 extensii factur...
Refuză un abonament la o întreprindere de autoservire
Enterprise este negociată. Ascunderea preţului este prezentare; aceasta este Limita. O cerere de numire a Planului Enterprise este refuzată cu excepția cazului ...
Serviciul telefonic Bill prin extensie
PreturiModel.PER EXTENSION, propria cheie de cantitate rezervată, un alocator, a împăcare nocturnă, o poartă de îndepărtare și sumar API - telefonul geamăn al f...
Bill e-mail pe cutie poştală, împăcat noaptea
Cantitatea este compusă dintr-un server sub o cheie rezervată un organism de cerere nu poate ajunge, și a împins prin calea de modificare existentă a lui Stripe...
Faceți un eveniment Ruped Stripe un no-op
Adaugă BillingWebhookEventClaimService pe propria fasole, cu REQUIRES NOW on fiecare metodă, și fire în procesEvent înainte de comutatorul de expediere. O cerer...
Publică conversia plătită pentru organizațiile urmărite
Ambele căi care ştampila BillingSourceType.PAID publică acum marketing.vizitor.paid, pentru ca agatarea doar una dor in tacere jumatate din trafic Serviciu se ...
Decide accesul platformei cu soluţionarul comun
@PlatformAdminOnly now names the plain right it requires (defaulting to MANAGE ORGANIZAȚII, despre care este vorba la suprafața platformei acestui serviciu) și ...
Transportați data de reînnoire a acoperirii și a sarcinilor utile ale grupului
Ambele suprafeţe raportează acum curentPeriodEnd şi anuleazăAtPeriodEnd. Data este ceea ce "Ţine-ţi locul până la sfârşit." a perioadei" este o asigurare în abs...
Un plan pentru fiecare organizaţie, un plafon de 25 de locuri pentru Enterprise şi o modalitate de a nu mai plăti
Planul este acum o decizie la nivel de organizație și nimic altceva nu-l poate suprascrie. Lăsând un auto-plătitor sau un manager de grup să-şi aleagă propriile...
Să anulăm planul unui grup şi să nu mai plătim dublu pentru o persoană
Trei goluri în ceea ce a trimis ultima: Un grup cu un plan nu ar putea fi eliminat. șterge() refuză în timp ce un live abonament există corect, deoarece rândul...
Asigurați-grupuri de facturare de lucru până la sfârșit, și opri auto-plata de taxare pentru nimic
Un grup poate acum aduna oameni, cumpăra un plan pe propria carte managerului său, și mână Nu mai are locuri. Niciuna dintre acestea nu a existat: singurele ope...
Spune oamenilor plata lor nu a reușit, și să stea abonamentul în jos
Dunning-ul care nu exista. factura.payment failed a scris un rând și returnat: nici un e-mail, nici un steag, nici o schimbare de stat, și facturare.email-servi...
Lasă un membru să-şi cumpere propriul scaun şi să închidă o gaură de parametru
Auto-pay nu a avut nici o rută în interiorul consolei. Totul pe suprafaţa de facturare este în formă de cont Billing vă arată nimic, și singura modalitate de a...
API-uri ale grupului de politici și de facturare
Cine într-o organizaţie poate plăti Kamo este acum răspunzător şi stabil. Ambele rutele sunt org-scopelate și, prin urmare, în mod deliberat în afara /api/billi...
Implică org-ul țintă al unui nou abonament la apelantului
O prima achizitie nu are nici un abonament existent pentru a copia tintaOrganizationId de la, și care necesită necondiționat este ceea ce a făcut crearea unul d...
Cumpăraţi un bloc atunci când un org optat rămâne fără spaţiu
Rulează la scurt timp după matura instantaneu noapte, pentru că este ceea ce produce cifra de utilizare se decide cu privire la extinderea față de numărul de ie...
Lasă o modificare de preț catalog de fapt ajunge la Stripe
Preţurile la dungi sunt imuabile, iar cartografierea conţine un rând pe (org, tip, cod, ciclu) în spatele unei chei unice, astfel încât odată ce un preț a exist...
Capacitatea de raportare alături de utilizare
Panoul de stocare a raportat octeți stocate împotriva nimic, la toate nici un procent, nici bani fie că a fost confortabil sau pe cale de a opri încărcarea lo...
Faceți un prim plan purchasable, și returnați prețurile reale plan
Două lucruri au oprit o organizaţie să cumpere un prim abonament. Lista de planuri a fost accesibil numai prin sub.marketId pe un abonament org deja a avut loc...
Factură pe unitate adăugată de unități cumpărate, nu prin numărătoare
Filează noua cantitate adăugată prin crearea și actualizarea: o completare FLAT acum ia cantitatea de dungi din ceea ce a cumpărat de fapt, astfel încât patru 1...
Punct la YugabyteDB și utilizați PostgreSQLDialect
CockroachDB a fost înlocuit de YugabyteDB. Conexiunea se mișcă din gandac-public:26257 to yb-tserver-service:5433, and the Hibernate dialect De la *************...
Citiți utilizarea imaginii dintr-o trecere deduplicată
Urmează modificarea în comun-bibliotecă la o taxă per fișier distinct per organizaţie. Atât rezumatul cât şi scriitorul de fotografii de zi cu zi iau un singur ...
Să o platformă admin rulați scanarea instantanee la cerere
Matura este ceea ce face absorbții de perioadă și totaluri de viață pentru domenii greu-eliminate raspunzator la toate, asa ca zilele pierdute la o pana sunt pi...
Raportează ce depozitează o organizaţie
Fila de statistici a contului a spus întotdeauna "Nu există date de utilizare disponibile pentru această perioadă," pentru fiecare organizație, deoarece obțineC...
Serveşte directorul org ca o pagină filtrată, sortate, paginată
GET /orgs ia pagina / dimensiunea / q / sort / dir plus şapte filtre şi returnează casa Pagină plic cu agregate la nivel de proprietate. GET /orgs / {orgid} ser...
Hidratare de pagini la un număr constant de interogare
Titlurile-mamă, domeniul primar, planul/piața din spatele dreptului și steagul abonaților-catalog sunt fiecare dintre cele câte un lot IN (:ids) pe întreaga pag...
Director rând/pagină DTO și depozitul de interogări nativ
Platform OrgRow poartă cele două faţete separat: dreptul (submarinele de intrare) care vizează orga -- ce o guvernează) şi facturarea deţinută (contele org deţi...
Org director SQL cu CTE per-facet
Conturi deținute, abonamente de intrare, membri, licențiați și copii fiecare agregate în propria CTE înainte de a fi unite cu orgi. Alăturându-se lor într-o sin...
Cerere de director org validată, prinsă
Cleme de dimensiuni la [1,100] și un fel nerecunoscut cade înapoi la titlu, astfel încât o URL-ul manual nu poate solicita întreaga proprietate și nu poate ajun...
Modul de îndreptăţire a derivei printr-un singur remix comun, determinist
TrialAdminService și-a ales abonamentul la proces cu findFirst() peste lista necomandată, astfel încât un org deține atât un proces în așteptare, cât și un proc...
Expune trialExpiresAt on platforma org rezumat pentru admin trials UI
Se aplică/extinde/se completează criteriile finale de evaluare a studiului + DTO trialExpiresAt
Programul de maturare reverts teste expirate pentru a gratuit cu cache-bust
Contorizarea consumului de e-sign + verificarea de către consumatori a autoservirii
#4 contorizare: - EsignMeterSubmissionService (@Scheduled per zi): agregate de origine API EsignUsageRecords per org+ period; primul 40/perioadă inclusă, restul...
Gestionați Organizația.isPlatformProduct de pe Platformă → Orgs
PlatformaContExpuneri Sumare estePlatformProdus + areAbonare Piața; nouă Pune-o aici. (platform-admin gated) stabilește steagul și invalidează drepturile membri...
Rescrie serviciul de facturare în jurul grupurilor de facturare
Şterge nivelul de org controlori, servicii şi DTO. Introduce: - BillingGroupController grup de montare, membri, abonamente, licențe, metode de plată și facturi...
Adăugați platformaAdmin controler + serviciu pentru granturile de plan comp
- PlatformAdminController la /api/billing/platform (class-level @PlatformAdminOnly) - GET /orgs, GET /orgs / {orgid} - POST /orgs/{orgId}/grants, PATCH - GET / ...
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...
Ca ceea ce vezi de transport maritim?
Fiecare dintre aceste actualizări aterizează automat în spațiul de lucru. Începe gratuit și urmăriți-l crească săptămână după săptămână.