Schede attive e Void nella directory della piattaforma org
La scheda delle Organizzazioni della console ora si divide in sotto-tabs Active e Void. A organizzazione vuota è orgs.is active = FALSE (set by SecurityService'...
Ricorrere un evento webhook il cui primo tentativo è morto, e rifiutare uno SDK non può leggere
Un reclamo perdente su una riga non elaborata ha sempre risposto a 500, quindi un evento il primo tentativo fallito (una gara unica-constraint all'interno fat.c...
Solo un'accusa fallita inizia a dunning, e Stripe deve essere d'accordo prima degli atti successivi
fattura.finalizzata porta stato=aperto con un importo dovuto per ogni fattura carica automatica prima del tentativo di carica, e la fattura handler ha iniziato ...
La guardia dello stesso commit-rebuild non potrebbe mai sparare, e il controllo digerente non è riuscito aperto
Entrambe le protezioni contro un dispiegamento che distribuisce nulla erano inerti, quindi la pipeline ha riferito due lavori verdi mentre i pods sono rimasti s...
Una riga di catalogo che nomina un'app che questa build non può risolvere non è in vendita
ServiceTypeConverter ha smesso di lanciare su un id app sconosciuto e ha iniziato a risolverlo a null, che è ciò che un servizio deve fare — le navi enum dentro...
Un prezzo di cui Stripe non ha mai sentito parlare è un difetto, non un silenzio
Il riconciliatore ha confrontato i prezzi mappati contro il catalogo e tornò presto ogni volta che nulla è stato mappato. Così un termine che il catalogo aveva ...
Carica ciò che lo schermo dice e rifiuta piuttosto che fingere
Un audit della console Plans & Billing contro le chiavi Live Stripe ha trovato la cucitura tra lo schermo e Stripe rotto in ogni direzione subito, e silenzioso ...
Tassa di avvio di un piano, e l'offerta live, sul filo
PlanDto ha portato solo il tasso ricorrente, quindi ogni superficie citando un piano citato un prezzo il cliente non sarebbe addebitato: la tassa di avvio di Ka...
Un punto finale dietro la pagina del piano del cliente
GET /api/billing/self/plan risponde a tutto /myplan rende: il piano, che cosa il l'organizzazione può effettivamente utilizzare, il catalogo per confrontare, se...
Prove the deploy by digest, not by tag
Il commit precedente si ferma `set image` essendo un no-op silenzioso. Questo afferma che risultato: dopo il rollout, il tag viene risolto per digerire al Regis...
Una ricostruzione dello stesso commit non ha dispiegato nulla e ha riferito il successo
L'immagine è contrassegnata con il commit SHA, così la ricostruzione dello stesso commit produce un riferimento di immagine identico. `kubectl set immagine` qui...
Bill la tassa di avvio su entrambi i percorsi a un piano, e record termini negoziati
Due percorsi raggiungono lo stesso piano e solo uno di loro stava per caricare il nuovo tassa di avvio per-seat. Una fattura d'ordine scritta dalle vendite tram...
Bloccare ogni spazzata denaro-moving, e eseguire due pod
BillingService ha eseguito un pod e le sue sette spazzate programmate erano corrette solo a causa di esso. Ecco. non è ShedLock ovunque su questa piattaforma, q...
Lasci un rollout finire quello che il vecchio pod stava facendo
Deploys ha sostituito l'unico pod di ogni servizio con nulla per catturare le richieste in volo. Tre impostazioni, applicate attraverso la flotta: - preStop do...
Smettere di offrire il piano interno platform-proprietario in vendita
listPlansForMarket filtrato su isActive da solo, e attivo non è lo stesso come su il menu. OWNER UNLIMITED ("Platform Owner — Internal") è attivo, non trasporta...
Servire l'offerta in esecuzione e dire se un sedile è realmente PAID per
Aggiunge GET /markets/{id}/promozione. Non c'era modo per una superficie di acquisto in-app conoscere un'offerta era in esecuzione a tutti — il sito di marketin...
Bill il termine di tre anni, e cita il suo tasso alla console
BillingCycles guadagna TRIENNIAL, espresso a Stripe come tre ANNI piuttosto che trentasei MESE così il rinnovamento traccia l'anniversario di iscrizione — la st...
Linee per server sulla sintesi delle estensioni
La scheda delle estensioni del server del telefono ha mostrato la figura e nient'altro, quindi un server KamoPBX vuoto ha mostrato "21 estensioni fatturabili — ...
La piattaforma org non è cancellata dal proprio catalogo
La piattaforma org è stato detto "Requires the KamoPBX Hosting add-on" da solo schermo del telefono-server, per un add-on che pubblica. Possiede il catalogo de...
Rifiutare un abbonamento self-serve Enterprise
L'impresa è negoziata. Nascondere il prezzo è la presentazione; questo è il confine. Una richiesta che nomina il piano Enterprise viene rifiutata a meno che il ...
Servizio telefonico di Bill dall'estensione
PricingModel.PER EXTENSION, la sua chiave di quantità riservata, un allocatore, un riconciliatore notturno, un cancello di rimozione e l'API di sintesi - il gem...
Scansiona l'email condivisa-lib. pacchetto del repository di fatturazione
@EnableJpaRepositories elenca i pacchetti esplicitamente, quindi MailboxBillingDayRepository era invisibile e il servizio si rifiutò di iniziare a destra — pres...
Ricostruire contro la corrente kamo-shared-library
Cloni CI condiviso-lib a tempo di costruzione dell'immagine. Questo servizio è stato costruito per l'ultima volta condiviso-lib ha guadagnato GMAIL PERSONAL e O...
Bill e-mail per casella di posta, riconciliato di notte
La quantità è server-computata sotto una chiave riservata un corpo di richiesta non può raggiungere, e spinto attraverso il percorso di modifica esistente — cos...
Chiudi il webhook idempotency gap BL0 recensione finale trovato
Trovare 1 (Critical): un reclamo perdente su un evento Stripe ripiegato solo provato una fila esisteva, non che il tentativo precedente finito. Affermativo fila...
Non chiave effimera per-attempt Stripe crea
Round 2 recensione (Ruling 17) trovato "è questo un creare?" è necessario ma non sufficiente. La domanda che conta: può questo argomento legittimamente essere c...
Le chiavi appartengono a Stripe crea solo, non su mutazioni
La prima recensione (Ruling 15) ha trovato il Critical: una idempotency stabile chiave su un aggiornamento/cancel/attach/detach non è una salvaguardia, è un bug...
Fare ogni Stripe scrivere idempotent, e fallire la costruzione su uno nuovo senza una chiave
Un timeout di presa su una scrittura Stripe che realmente successo è indistinguibile, dal nostro lato, da uno che non ha fatto; senza un chiave idempotency il r...
Impedire la bandiera elaborata con il denaro scrivere, non davanti a esso
markProcessed era REQUIRES NEW, quindi ha commesso elaborato=vero mentre il Le scritture di denaro del gestore erano ancora non commesse nel sospeso esterno tra...
Prove library HQL parses on the Hibernate questo servizio funziona davvero
kamo-shared-library costruisce su Boot 3.3.4 / Hibernate 6.5; BillingService corre Boot 3.1.5 / Hibernate 6.2.13. I test HQL propri della biblioteca quindi pass...
Fare un evento Stripe riprodotto un no-op
Aggiunge BillingWebhookEventClaimService sul proprio fagiolo, con REQUIRES NEW su ogni metodo, e lo collega in processoEvent davanti all'interruttore di spedizi...
Pin l'intestazione di firma opzionale e coprire tutti e tre i rami di guasto per perdite di corpo
Pin kamo-shared-library 1.6.0
La biblioteca si trasferì a 1.6.0 mentre ogni consumatore rimase a 1.5.0. Consumatore CI costruisce la biblioteca da un clone fresco in un freddo ~/.m2 e ci-set...
Smettere di vendere add-on il piano scelto già include
Il catalogo ha sempre registrato quali componenti aggiuntivi di un piano fasci, in E' il momento giusto. — Business e Enterprise videoconferenze, l'assistente A...
Pubblicare la conversione a pagamento per le organizzazioni tracciate
Entrambi i percorsi che timbro BillingSourceType.PAID ora pubblicare marketing.visitor.paid, perché agganciare solo uno silenziosamente manca metà del traffico ...
Tagliare il coperchio sopra il suo proprio JVM soffitto di salto [skip ci]
L'immagine inizia il JVM con -XX:MaxRAMPercentage=70 -XX:+ SemprePreTouch, così il heap da solo può prendere il 70% del limite del contenitore e pre-touch manti...
Decide l'accesso alla piattaforma con il risolutore condiviso
@PlatformAdminSolo ora nomina la piattaforma giusta che richiede (di default a MANAGE ORGANIZZAZIONI, che è ciò che la superficie della piattaforma di questo se...
Portare la data di rinnovo sulla copertura e i carichi di pagamento di gruppo
Entrambe le superfici ora riportano correntePeriodEnd e annullanoAtPeriodEnd. La data è ciò una conferma di cancellazione in realtà ha bisogno di dire — "manten...
Cancelling smette di fatturare il futuro e nient'altro
Annullare non prende più una bandiera "immediata" e nessun percorso di cliente può chiedere per uno. Passarlo vero ha concluso l'abbonamento lo stesso giorno ch...
Un piano per organizzazione, un soffitto Enterprise 25 posti, e un modo per smettere di pagare
Il piano è ora una decisione a livello organizzativo e nient'altro può superarlo. Lasciare un self-payer o un manager di gruppo scegliere le proprie letture com...
Lasciate che il piano di un gruppo sia annullato e fermate il doppio pagamento per una persona
Tre lacune in quello che ha spedito ultimo: Un gruppo con un piano non potrebbe mai essere rimosso. delete() rifiuta mentre un live l'abbonamento esiste — corr...
Rendere i gruppi di fatturazione lavorare fine a fine, e smettere di pagare per nulla
Un gruppo può ora riunire le persone, comprare un piano sulla carta del suo manager, e la mano i suoi posti fuori. Nessuna di queste esisteva: le uniche operazi...
Ricostruire contro il rinominato tavolo pay-group
L'entità si è spostata da billing groups a billing pay groups dopo che si è scoperto il primo è un tavolo ereditario dal vivo con una forma diversa. Questo serv...
Smettere di spedire una credenziali condivisa come predefinito config
La password condivisa della piattaforma è stata cotta come il fallback per DB PASSWORD e MINIO ROOT PASSWORD, così ha vissuto in questo repo e nell'immagine cos...
Dite alle persone che il loro pagamento è fallito e ritirate l'abbonamento
L'abbraccio che non esisteva. fattura.payment failed ha scritto una riga e ha restituito: nessuna e-mail, nessuna bandiera, nessun cambiamento di stato e fattur...
Lascia che un membro acquisti il proprio posto, e chiuda un foro di parametri del corpo
Il self-pay non aveva traccia all'interno della console. Tutto sulla superficie di fatturazione è a forma di account — è già necessario tenere una riga AccountM...
Org policy e fatturazione gruppo API
Chi all'interno di un'organizzazione può pagare Kamo ora è responsabile e impostabile. Entrambi i percorsi sono org-scoped e quindi deliberatamente fuori /api/b...
Come quello che vedi la spedizione?
Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.