mirror of
https://github.com/bitwarden/server.git
synced 2024-12-22 16:57:36 +01:00
[AC 480]Add the organization name to the stripe invoice (#2772)
* Adding organization name on subscription and update * Changes after running dotnet format -v diag * Change the OrganizationName to GetName * Change GetName to OwnerName * Change the OwnerName to SubscriberName * Reverting the changes made by dotnet format-v diag * Removing extract space * resolve the lint issue * Fix whitespace formatting issue * Resolving pr comment on changing organization * Fixing the failing test * Using the ISubscriber interface for consistent * fixing the whitescapes * Resolving the PR comments * resolving the whitespace format * Remove unnecessary directive * Resolving the whitespace issue * changes for organization instead of subscriber * resolving the failing test * Resolve lint issue by removing unnecessary directive * Resolve the PR comment * remove these blank lines * Fixing whitespace formatting
This commit is contained in:
parent
53b9d52125
commit
6d7bcd98a9
@ -10,8 +10,10 @@ public interface ISubscriber
|
||||
string GatewaySubscriptionId { get; set; }
|
||||
string BillingEmailAddress();
|
||||
string BillingName();
|
||||
string SubscriberName();
|
||||
string BraintreeCustomerIdPrefix();
|
||||
string BraintreeIdField();
|
||||
string GatewayIdField();
|
||||
bool IsUser();
|
||||
string SubscriberType();
|
||||
}
|
||||
|
@ -88,6 +88,11 @@ public class Organization : ITableObject<Guid>, ISubscriber, IStorable, IStorabl
|
||||
return BusinessName;
|
||||
}
|
||||
|
||||
public string SubscriberName()
|
||||
{
|
||||
return Name;
|
||||
}
|
||||
|
||||
public string BraintreeCustomerIdPrefix()
|
||||
{
|
||||
return "o";
|
||||
@ -108,6 +113,11 @@ public class Organization : ITableObject<Guid>, ISubscriber, IStorable, IStorabl
|
||||
return false;
|
||||
}
|
||||
|
||||
public string SubscriberType()
|
||||
{
|
||||
return "Organization";
|
||||
}
|
||||
|
||||
public long StorageBytesRemaining()
|
||||
{
|
||||
if (!MaxStorageGb.HasValue)
|
||||
|
@ -84,6 +84,11 @@ public class User : ITableObject<Guid>, ISubscriber, IStorable, IStorableSubscri
|
||||
return Name;
|
||||
}
|
||||
|
||||
public string SubscriberName()
|
||||
{
|
||||
return string.IsNullOrWhiteSpace(Name) ? Email : Name;
|
||||
}
|
||||
|
||||
public string BraintreeCustomerIdPrefix()
|
||||
{
|
||||
return "u";
|
||||
@ -104,6 +109,11 @@ public class User : ITableObject<Guid>, ISubscriber, IStorable, IStorableSubscri
|
||||
return true;
|
||||
}
|
||||
|
||||
public string SubscriberType()
|
||||
{
|
||||
return "Subscriber";
|
||||
}
|
||||
|
||||
public Dictionary<TwoFactorProviderType, TwoFactorProvider> GetTwoFactorProviders()
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(TwoFactorProviders))
|
||||
|
@ -124,8 +124,17 @@ public class StripePaymentService : IPaymentService
|
||||
Metadata = stripeCustomerMetadata,
|
||||
InvoiceSettings = new Stripe.CustomerInvoiceSettingsOptions
|
||||
{
|
||||
DefaultPaymentMethod = stipeCustomerPaymentMethodId
|
||||
DefaultPaymentMethod = stipeCustomerPaymentMethodId,
|
||||
CustomFields = new List<Stripe.CustomerInvoiceSettingsCustomFieldOptions>
|
||||
{
|
||||
new Stripe.CustomerInvoiceSettingsCustomFieldOptions()
|
||||
{
|
||||
Name = org.SubscriberType(),
|
||||
Value = org.SubscriberName(),
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
Address = new Stripe.AddressOptions
|
||||
{
|
||||
Country = taxInfo.BillingAddressCountry,
|
||||
@ -427,7 +436,15 @@ public class StripePaymentService : IPaymentService
|
||||
Source = stipeCustomerSourceToken,
|
||||
InvoiceSettings = new Stripe.CustomerInvoiceSettingsOptions
|
||||
{
|
||||
DefaultPaymentMethod = stipeCustomerPaymentMethodId
|
||||
DefaultPaymentMethod = stipeCustomerPaymentMethodId,
|
||||
CustomFields = new List<Stripe.CustomerInvoiceSettingsCustomFieldOptions>
|
||||
{
|
||||
new Stripe.CustomerInvoiceSettingsCustomFieldOptions()
|
||||
{
|
||||
Name = user.SubscriberType(),
|
||||
Value = user.SubscriberName(),
|
||||
},
|
||||
}
|
||||
},
|
||||
Address = new Stripe.AddressOptions
|
||||
{
|
||||
@ -1334,7 +1351,15 @@ public class StripePaymentService : IPaymentService
|
||||
PaymentMethod = stipeCustomerPaymentMethodId,
|
||||
InvoiceSettings = new Stripe.CustomerInvoiceSettingsOptions
|
||||
{
|
||||
DefaultPaymentMethod = stipeCustomerPaymentMethodId
|
||||
DefaultPaymentMethod = stipeCustomerPaymentMethodId,
|
||||
CustomFields = new List<Stripe.CustomerInvoiceSettingsCustomFieldOptions>
|
||||
{
|
||||
new Stripe.CustomerInvoiceSettingsCustomFieldOptions()
|
||||
{
|
||||
Name = subscriber.SubscriberType(),
|
||||
Value = subscriber.SubscriberName(),
|
||||
},
|
||||
}
|
||||
},
|
||||
Address = taxInfo == null ? null : new Stripe.AddressOptions
|
||||
{
|
||||
@ -1406,7 +1431,15 @@ public class StripePaymentService : IPaymentService
|
||||
DefaultSource = defaultSourceId,
|
||||
InvoiceSettings = new Stripe.CustomerInvoiceSettingsOptions
|
||||
{
|
||||
DefaultPaymentMethod = defaultPaymentMethodId
|
||||
DefaultPaymentMethod = defaultPaymentMethodId,
|
||||
CustomFields = new List<Stripe.CustomerInvoiceSettingsCustomFieldOptions>
|
||||
{
|
||||
new Stripe.CustomerInvoiceSettingsCustomFieldOptions()
|
||||
{
|
||||
Name = subscriber.SubscriberType(),
|
||||
Value = subscriber.SubscriberName(),
|
||||
},
|
||||
}
|
||||
},
|
||||
Address = taxInfo == null ? null : new Stripe.AddressOptions
|
||||
{
|
||||
|
@ -10,7 +10,10 @@ using Bit.Test.Common.AutoFixture.Attributes;
|
||||
using Braintree;
|
||||
using NSubstitute;
|
||||
using Xunit;
|
||||
using Customer = Braintree.Customer;
|
||||
using PaymentMethod = Braintree.PaymentMethod;
|
||||
using PaymentMethodType = Bit.Core.Enums.PaymentMethodType;
|
||||
using TaxRate = Bit.Core.Entities.TaxRate;
|
||||
|
||||
namespace Bit.Core.Test.Services;
|
||||
|
||||
@ -65,6 +68,9 @@ public class StripePaymentServiceTests
|
||||
c.PaymentMethod == null &&
|
||||
!c.Metadata.Any() &&
|
||||
c.InvoiceSettings.DefaultPaymentMethod == null &&
|
||||
c.InvoiceSettings.CustomFields != null &&
|
||||
c.InvoiceSettings.CustomFields[0].Name == "Organization" &&
|
||||
c.InvoiceSettings.CustomFields[0].Value == organization.SubscriberName() &&
|
||||
c.Address.Country == taxInfo.BillingAddressCountry &&
|
||||
c.Address.PostalCode == taxInfo.BillingAddressPostalCode &&
|
||||
c.Address.Line1 == taxInfo.BillingAddressLine1 &&
|
||||
@ -115,6 +121,9 @@ public class StripePaymentServiceTests
|
||||
c.PaymentMethod == paymentToken &&
|
||||
!c.Metadata.Any() &&
|
||||
c.InvoiceSettings.DefaultPaymentMethod == paymentToken &&
|
||||
c.InvoiceSettings.CustomFields != null &&
|
||||
c.InvoiceSettings.CustomFields[0].Name == "Organization" &&
|
||||
c.InvoiceSettings.CustomFields[0].Value == organization.SubscriberName() &&
|
||||
c.Address.Country == taxInfo.BillingAddressCountry &&
|
||||
c.Address.PostalCode == taxInfo.BillingAddressPostalCode &&
|
||||
c.Address.Line1 == taxInfo.BillingAddressLine1 &&
|
||||
|
Loading…
Reference in New Issue
Block a user