diff --git a/src/Core/Services/Implementations/OrganizationService.cs b/src/Core/Services/Implementations/OrganizationService.cs index 538ff55de..0dcb70f73 100644 --- a/src/Core/Services/Implementations/OrganizationService.cs +++ b/src/Core/Services/Implementations/OrganizationService.cs @@ -381,11 +381,18 @@ namespace Bit.Core.Services // This proration behavior prevents a false "credit" from // being applied forward to the next month's invoice ProrationBehavior = "none", + CollectionMethod = "charge_automatically", }); throw; } } + // Change back the subscription collection method + await subscriptionService.UpdateAsync(sub.Id, new SubscriptionUpdateOptions + { + CollectionMethod = "charge_automatically", + }); + organization.Seats = (short?)newSeatTotal; await ReplaceAndUpdateCache(organization); return paymentIntentClientSecret; diff --git a/src/Core/Services/Implementations/StripePaymentService.cs b/src/Core/Services/Implementations/StripePaymentService.cs index 13c378676..ff92c7d12 100644 --- a/src/Core/Services/Implementations/StripePaymentService.cs +++ b/src/Core/Services/Implementations/StripePaymentService.cs @@ -778,11 +778,18 @@ namespace Bit.Core.Services // This proration behavior prevents a false "credit" from // being applied forward to the next month's invoice ProrationBehavior = "none", + CollectionMethod = "charge_automatically", }); throw; } } + // Change back the subscription collection method + await subscriptionService.UpdateAsync(sub.Id, new SubscriptionUpdateOptions + { + CollectionMethod = "charge_automatically", + }); + return paymentIntentClientSecret; }