mirror of
https://github.com/bitwarden/server.git
synced 2026-02-06 17:13:10 +08:00
* Set automatic tax to enabled and tax exempt to reverse where applicable when ff is on * Fix and add tests * Run dotnet format * Run dotnet format * PM-21745: Resolve defect * PM-21770: Resolve defect * Run dotnet format'
30 lines
967 B
C#
30 lines
967 B
C#
using Bit.Core.Billing.Constants;
|
|
using Stripe;
|
|
|
|
namespace Bit.Core.Billing.Extensions;
|
|
|
|
public static class CustomerExtensions
|
|
{
|
|
public static bool HasBillingLocation(this Customer customer)
|
|
=> customer is
|
|
{
|
|
Address:
|
|
{
|
|
Country: not null and not "",
|
|
PostalCode: not null and not ""
|
|
}
|
|
};
|
|
|
|
public static bool HasRecognizedTaxLocation(this Customer customer) =>
|
|
customer?.Tax?.AutomaticTax != StripeConstants.AutomaticTaxStatus.UnrecognizedLocation;
|
|
|
|
public static decimal GetBillingBalance(this Customer customer)
|
|
{
|
|
return customer != null ? customer.Balance / 100M : default;
|
|
}
|
|
|
|
public static bool ApprovedToPayByInvoice(this Customer customer)
|
|
=> customer.Metadata.TryGetValue(StripeConstants.MetadataKeys.InvoiceApproved, out var value) &&
|
|
int.TryParse(value, out var invoiceApproved) && invoiceApproved == 1;
|
|
}
|