mirror of
https://github.com/bitwarden/server.git
synced 2025-04-09 07:08:15 -05:00
plan adjustments (#890)
This commit is contained in:
parent
2fb18d8cf2
commit
2cd6d4f61a
@ -734,7 +734,7 @@ namespace Bit.Core.Services
|
|||||||
var storageItem = sub.Items?.FirstOrDefault(i => i.Plan.Id == storagePlanId);
|
var storageItem = sub.Items?.FirstOrDefault(i => i.Plan.Id == storagePlanId);
|
||||||
// Retain original collection method
|
// Retain original collection method
|
||||||
var collectionMethod = sub.CollectionMethod;
|
var collectionMethod = sub.CollectionMethod;
|
||||||
|
|
||||||
var subResponse = await subscriptionService.UpdateAsync(sub.Id, new SubscriptionUpdateOptions
|
var subResponse = await subscriptionService.UpdateAsync(sub.Id, new SubscriptionUpdateOptions
|
||||||
{
|
{
|
||||||
Items = new List<SubscriptionItemOptions>
|
Items = new List<SubscriptionItemOptions>
|
||||||
@ -942,7 +942,7 @@ namespace Bit.Core.Services
|
|||||||
{
|
{
|
||||||
throw new GatewayException("Failed to charge PayPal customer.");
|
throw new GatewayException("Failed to charge PayPal customer.");
|
||||||
}
|
}
|
||||||
|
|
||||||
braintreeTransaction = transactionResult.Target;
|
braintreeTransaction = transactionResult.Target;
|
||||||
invoice = await invoiceService.UpdateAsync(invoice.Id, new InvoiceUpdateOptions
|
invoice = await invoiceService.UpdateAsync(invoice.Id, new InvoiceUpdateOptions
|
||||||
{
|
{
|
||||||
@ -1557,39 +1557,39 @@ namespace Bit.Core.Services
|
|||||||
|
|
||||||
public async Task<TaxInfo> GetTaxInfoAsync(ISubscriber subscriber)
|
public async Task<TaxInfo> GetTaxInfoAsync(ISubscriber subscriber)
|
||||||
{
|
{
|
||||||
if (subscriber != null && !string.IsNullOrWhiteSpace(subscriber.GatewayCustomerId))
|
if (subscriber == null || string.IsNullOrWhiteSpace(subscriber.GatewayCustomerId))
|
||||||
{
|
{
|
||||||
var customerService = new CustomerService();
|
return null;
|
||||||
var customer = await customerService.GetAsync(subscriber.GatewayCustomerId);
|
|
||||||
|
|
||||||
if (customer == null)
|
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
var address = customer.Address;
|
|
||||||
var taxId = customer.TaxIds?.FirstOrDefault();
|
|
||||||
|
|
||||||
// Line1 is required, so if missing we're using the subscriber name
|
|
||||||
// see: https://stripe.com/docs/api/customers/create#create_customer-address-line1
|
|
||||||
if (address != null && string.IsNullOrWhiteSpace(address.Line1))
|
|
||||||
{
|
|
||||||
address.Line1 = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return new TaxInfo
|
|
||||||
{
|
|
||||||
TaxIdNumber = taxId?.Value,
|
|
||||||
BillingAddressLine1 = address?.Line1,
|
|
||||||
BillingAddressLine2 = address?.Line2,
|
|
||||||
BillingAddressCity = address?.City,
|
|
||||||
BillingAddressState = address?.State,
|
|
||||||
BillingAddressPostalCode = address?.PostalCode,
|
|
||||||
BillingAddressCountry = address?.Country,
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
var customerService = new CustomerService();
|
||||||
|
var customer = await customerService.GetAsync(subscriber.GatewayCustomerId);
|
||||||
|
|
||||||
|
if (customer == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
var address = customer.Address;
|
||||||
|
var taxId = customer.TaxIds?.FirstOrDefault();
|
||||||
|
|
||||||
|
// Line1 is required, so if missing we're using the subscriber name
|
||||||
|
// see: https://stripe.com/docs/api/customers/create#create_customer-address-line1
|
||||||
|
if (address != null && string.IsNullOrWhiteSpace(address.Line1))
|
||||||
|
{
|
||||||
|
address.Line1 = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return new TaxInfo
|
||||||
|
{
|
||||||
|
TaxIdNumber = taxId?.Value,
|
||||||
|
BillingAddressLine1 = address?.Line1,
|
||||||
|
BillingAddressLine2 = address?.Line2,
|
||||||
|
BillingAddressCity = address?.City,
|
||||||
|
BillingAddressState = address?.State,
|
||||||
|
BillingAddressPostalCode = address?.PostalCode,
|
||||||
|
BillingAddressCountry = address?.Country,
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task SaveTaxInfoAsync(ISubscriber subscriber, TaxInfo taxInfo)
|
public async Task SaveTaxInfoAsync(ISubscriber subscriber, TaxInfo taxInfo)
|
||||||
|
@ -123,9 +123,9 @@ namespace Bit.Core.Utilities
|
|||||||
IsAnnual = true,
|
IsAnnual = true,
|
||||||
NameLocalizationKey = "planNameFamilies",
|
NameLocalizationKey = "planNameFamilies",
|
||||||
DescriptionLocalizationKey = "planDescFamilies",
|
DescriptionLocalizationKey = "planDescFamilies",
|
||||||
BaseSeats = 6,
|
BaseSeats = 5,
|
||||||
BaseStorageGb = 1,
|
BaseStorageGb = 1,
|
||||||
MaxUsers = 6,
|
MaxUsers = 5,
|
||||||
|
|
||||||
HasAdditionalStorageOption = true,
|
HasAdditionalStorageOption = true,
|
||||||
HasPremiumAccessOption = true,
|
HasPremiumAccessOption = true,
|
||||||
@ -287,6 +287,7 @@ namespace Bit.Core.Utilities
|
|||||||
BaseStorageGb = 1,
|
BaseStorageGb = 1,
|
||||||
MaxUsers = 6,
|
MaxUsers = 6,
|
||||||
|
|
||||||
|
HasAdditionalStorageOption = true,
|
||||||
TrialPeriodDays = 7,
|
TrialPeriodDays = 7,
|
||||||
|
|
||||||
HasSelfHost = true,
|
HasSelfHost = true,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user