Faire en sorte que les groupes de facturation fonctionnent à bout de bout en bout, et arrêter la facturation à payer pour rien

FeatureBillingService
Expédié
11 août 2026 à 18:10 UTC
Auteur
Kamo
Commite
3364634

Un groupe peut maintenant rassembler des gens, acheter un plan sur la carte de son manager, et main ses sièges. Rien de tout cela n'existait: les seules opérations étaient en cours de création, a approuvé Et supprimer, donc un propriétaire qui a fait un groupe a obtenu une étiquette et aucun moyen de l'utiliser. Facture GroupSeatService est le cas où l'argent est émis, à l'exception de la tenue des enregistrements, il n'est pas possible d'ajouter une nouvelle itinéraire qui saute les portes. subscribe() refuse avant create() est appelé plutôt qu'après, car create() ouvre un abonnement en direct Stripe - un groupe non approuvé, un groupe hérité, un gestionnaire sans perfaction de la carte ou d'un casse-tête de siège, tout s'arrête là. Deux défauts ont fait de la facture de groupe la mauvaise personne: - Le payeur était n'importe quel compteUtilisé par l'organe de demande nommé, non contrôlé, et la console a envoyé celle de l'organisation. Un groupe facturé à l'organisation n'est pas un groupe groupe de facturation; c'est un prénom pour l'abonnement de l'organisation. Le payeur est maintenant dérivé du gestionnaire et les deux sont censés convenir avant que tout ne soit facturé. L'envoi du compteUid est purement et simplement rejeté. - assurerAccountForMember réutilise le lien de compte le plus ancien du membre, qui pour Toute personne ayant jamais ajouté au compte de l'organisation est le compte de l'organisation. e) AssurerCompteilleure identifie par le membre principal, qui est plutôt le seul champ qui dit qu'un compte appartient à une personne. Lorsqu'un propriétaire gère son propre groupe, "la carte" et "l'organisation" carte" sont vraiment la même ligne de compte et le même client Stripe, et non code peut les distinguer. Cela est refusé sauf confirmation, plutôt que paper par-dessus. Par ailleurs, deux insectes vivants trouvés ici: -/se asseoir le siège a accusé le membre et ne leur a jamais attribué de siège. Il s'appelle create() et renvoyé; il n'y a pas eu d'abonnement de rangée de membre ni de licence de compte, de sorte qu'il n'y a pas l'acheteur n'a pas séjourné en personne pendant que sa carte était facturée tous les mois. - «Transactionnel dans AccountBillingService avait dérivé sur une méthode privée, de sorte qu'il Spring l'a ignoré et s'est rallié à l'exercice de ce qu'il a effectué sans transaction. A échec entre ses deux sauvegardes d'un compte orphelin la prochaine consultation n'a pas pu pouvoir voir, et l'appel suivant a créé un second. /self/coverage est nouveau: il répond "qui paie pour mon siège", ce que rien n'a fait. C'est aussi ce qui empêche quelqu'un déjà couvert d'être offert un deuxième siège sur leur propre carte.

Tous les changements

Comme ce que tu vois expédier ?

Chacune de ces mises à jour atterrit automatiquement dans votre espace de travail. Commencez gratuitement et regardez-le grandir semaine après semaine.

Commencez gratuitement pour toujoursPrix de visualisation