Rendere i gruppi di fatturazione lavorare fine a fine, e smettere di pagare per nulla

FeatureBillingService
Spegnimento
11 agosto 2026 alle ore 18:10 UTC
Autore
Kamo
Impegno
3364634

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 operazioni sono state create, approvate e cancellare, quindi un proprietario che ha fatto un gruppo ha un'etichetta e non c'è modo di usarlo. BillingGroupSeatService è dove i soldi si muovono e il diritto è emesso, tenuto a parte la registrazione in modo che nessun nuovo percorso può essere aggiunto che salta le porte. abbonarsi() rifiuta prima di creare() viene chiamato piuttosto che dopo, perché creare() apre un abbonamento Live Stripe — un gruppo non approvato, un legacy, un manager senza carta o un tappo di sicurezza si fermano tutti lì. Due difetti hanno reso la fattura del gruppo la persona sbagliata: - Il pagatore era qualsiasi conto. console ha mandato l'organizzazione. Un gruppo fatturato all'organizzazione non è un gruppo di fatturazione; è un secondo nome per l'abbonamento dell'organizzazione. Il pagatore è ora derivato dal direttore e i due sono asseriti di concordare prima che tutto venga accusato. L'invio di accountUid è respinto. - garantireAccountForMember riutilizza il più antico link AccountMember del membro, che per chiunque abbia mai aggiunto al conto dell'organizzazione è il conto dell'organizzazione. garantirePersonalAccountForMember identifica invece da primarioMember, che è l'unico campo che dice che un account appartiene a una persona. Dove un proprietario gestisce il proprio gruppo, "la loro scheda" e "l'organizzazione scheda" sono veramente la stessa riga Account e lo stesso cliente Stripe, e non il codice puo' distinguerli. Ciò è rifiutato se non confermato, piuttosto che cartaceo. Passo. Separatamente, due bug dal vivo trovati mentre qui: - /self/seat ha accusato il membro e non ha mai emesso un posto. Ha chiamato creare() e restituito; non c'era alcuna riga SubscriptionMember e nessun AccountLicense, quindi l'acquirente rimase incriminato mentre la loro carta è stata fatturata ogni mese. - @Transactional in AccountBillingService si era spostato su un metodo privato, quindi La primavera l'ha ignorato e garantireAccountForMember ha funzionato senza alcuna transazione affatto. A fallimento tra i suoi due risparmi orfano di un Account la prossima ricerca non poteva vedi, e la seguente chiamata ha creato un secondo. /self/coverage è nuovo: risponde "chi paga per il mio posto", che nulla ha fatto. È anche quello che ferma qualcuno già coperto essendo offerto un secondo posto su la loro carta.

Tutte le modifiche

Come quello che vedi la spedizione?

Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.

Inizia gratis per sempreVisualizza il prezzo