mirror of
https://github.com/bitwarden/server.git
synced 2025-07-02 16:42:50 -05:00
alloe sub cancellation when deleting account
This commit is contained in:
@ -1049,7 +1049,8 @@ namespace Bit.Core.Services
|
||||
return new Tuple<bool, string>(invoiceNow, paymentIntentClientSecret);
|
||||
}
|
||||
|
||||
public async Task CancelSubscriptionAsync(ISubscriber subscriber, bool endOfPeriod = false)
|
||||
public async Task CancelSubscriptionAsync(ISubscriber subscriber, bool endOfPeriod = false,
|
||||
bool skipInAppPurchaseCheck = false)
|
||||
{
|
||||
if(subscriber == null)
|
||||
{
|
||||
@ -1061,7 +1062,7 @@ namespace Bit.Core.Services
|
||||
throw new GatewayException("No subscription.");
|
||||
}
|
||||
|
||||
if(!string.IsNullOrWhiteSpace(subscriber.GatewayCustomerId))
|
||||
if(!string.IsNullOrWhiteSpace(subscriber.GatewayCustomerId) && !skipInAppPurchaseCheck)
|
||||
{
|
||||
var customerService = new CustomerService();
|
||||
var customer = await customerService.GetAsync(subscriber.GatewayCustomerId);
|
||||
|
@ -210,7 +210,7 @@ namespace Bit.Core.Services
|
||||
{
|
||||
try
|
||||
{
|
||||
await CancelPremiumAsync(user);
|
||||
await CancelPremiumAsync(user, null, true);
|
||||
}
|
||||
catch(GatewayException) { }
|
||||
}
|
||||
@ -835,7 +835,7 @@ namespace Bit.Core.Services
|
||||
}
|
||||
}
|
||||
|
||||
public async Task CancelPremiumAsync(User user, bool? endOfPeriod = null)
|
||||
public async Task CancelPremiumAsync(User user, bool? endOfPeriod = null, bool accountDelete = false)
|
||||
{
|
||||
var eop = endOfPeriod.GetValueOrDefault(true);
|
||||
if(!endOfPeriod.HasValue && user.PremiumExpirationDate.HasValue &&
|
||||
@ -843,7 +843,7 @@ namespace Bit.Core.Services
|
||||
{
|
||||
eop = false;
|
||||
}
|
||||
await _paymentService.CancelSubscriptionAsync(user, eop);
|
||||
await _paymentService.CancelSubscriptionAsync(user, eop, accountDelete);
|
||||
}
|
||||
|
||||
public async Task ReinstatePremiumAsync(User user)
|
||||
|
Reference in New Issue
Block a user