Fazer os grupos de faturamento trabalhar fim a fim, e parar de cobrar auto-pagamento por nada

FeatureBillingService
Navios
11 de agosto de 2026 às 18:10 UTC
Autor
Kamo
Enviar
3364634

Um grupo agora pode reunir pessoas, comprar um plano no cartão de seu próprio gerente, e mão Os seus lugares fora. Nada disso existia: as únicas operações foram criadas, aprovar e deletar, então um proprietário que fez um grupo tem uma etiqueta e nenhuma maneira de usá-lo. BillingGroupSeatService é onde o dinheiro se move e o direito é emitido, mantido Para além da manutenção de registos, não se pode adicionar nenhuma nova rota que salte os portões. subscribe() recusa antes de create() é chamado ao invés de depois, porque create() abre uma assinatura live Stripe — um grupo não aprovado, um legado, um gerente sem cartão ou uma quebra de tampa de assento param por aí. Dois defeitos fizeram do grupo a pessoa errada: - O pagador era qualquer contaUd o corpo pedido chamado, sem controlo, e o O console enviou o da organização. Um grupo facturado à organização não é um grupo de faturamento; é um segundo nome para a própria assinatura da organização. O pagador é agora derivado do gerente e os dois são afirmados para concordar Antes que algo seja acusado. Enviar contaUid é rejeitado. - garantir que a ContaForMember reutilize o link mais antigo do membro, que para Qualquer um que tenha sido adicionado à conta da organização é a conta da organização. Assegura que aContaPessoalForMember identifica pelo membro primário, que é O único campo que diz que uma conta pertence a uma pessoa. Onde um proprietário gerencia seu próprio grupo, "seu cartão" e "a organização cartão" são genuinamente a mesma linha de conta e o mesmo cliente Stripe, e não O código pode diferenciá-los. Isso é recusado, a menos que confirmado, em vez de papel Escuto. Separadamente, dois bugs vivos encontrados aqui: - /self/seat carregou o membro e nunca emitiu-lhes um assento. Chama-se create() e retornou; não havia nenhuma linha de assinaturaMembro e nenhuma ContaLicense, então o comprador ficou sem licença enquanto seu cartão era cobrado todos os meses. - @Transactional em AccountBillingService tinha se desviado para um método privado, então Spring ignorou-o e garantir que oAccountForMember funcionasse sem nenhuma transação. A falha entre os seus dois salva órfão uma Conta a próxima pesquisa não pôde E a chamada seguinte criou uma segunda. A auto-cobertura é nova: responde "quem paga o meu lugar", o que nada fez. É também o que impede alguém já coberto ser oferecido um segundo lugar em O seu próprio cartão.

Todas as alterações

Como o que vês no transporte?

Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.

Começar Livre Para SempreVer Preços