1
0
mirror of https://github.com/bitwarden/server.git synced 2025-07-07 10:55:43 -05:00

make payment method type required

This commit is contained in:
Kyle Spearrin
2019-02-26 12:45:34 -05:00
parent 91bbc3e8f9
commit 506fe28ee7
9 changed files with 19 additions and 81 deletions

View File

@ -72,7 +72,7 @@ namespace Bit.Core.Services
}
public async Task ReplacePaymentMethodAsync(Guid organizationId, string paymentToken,
PaymentMethodType? paymentMethodType)
PaymentMethodType paymentMethodType)
{
var organization = await GetOrgById(organizationId);
if(organization == null)
@ -80,24 +80,8 @@ namespace Bit.Core.Services
throw new NotFoundException();
}
if(!paymentMethodType.HasValue)
{
if(paymentToken.StartsWith("tok_"))
{
paymentMethodType = PaymentMethodType.Card;
}
else if(paymentToken.StartsWith("btok_"))
{
paymentMethodType = PaymentMethodType.BankAccount;
}
else
{
paymentMethodType = PaymentMethodType.PayPal;
}
}
var updated = await _paymentService.UpdatePaymentMethodAsync(organization,
paymentMethodType.Value, paymentToken);
paymentMethodType, paymentToken);
if(updated)
{
await ReplaceAndUpdateCache(organization);
@ -550,22 +534,6 @@ namespace Bit.Core.Services
}
else
{
if(!signup.PaymentMethodType.HasValue && !string.IsNullOrWhiteSpace(signup.PaymentToken))
{
if(signup.PaymentToken.StartsWith("btok_"))
{
signup.PaymentMethodType = PaymentMethodType.BankAccount;
}
else if(signup.PaymentToken.StartsWith("tok_"))
{
signup.PaymentMethodType = PaymentMethodType.Card;
}
else
{
signup.PaymentMethodType = PaymentMethodType.PayPal;
}
}
await _paymentService.PurchaseOrganizationAsync(organization, signup.PaymentMethodType.Value,
signup.PaymentToken, plan, signup.AdditionalStorageGb, signup.AdditionalSeats,
signup.PremiumAccessAddon);

View File

@ -678,7 +678,7 @@ namespace Bit.Core.Services
return true;
}
public async Task SignUpPremiumAsync(User user, string paymentToken, PaymentMethodType? paymentMethodType,
public async Task SignUpPremiumAsync(User user, string paymentToken, PaymentMethodType paymentMethodType,
short additionalStorageGb, UserLicense license)
{
if(user.Premium)
@ -710,24 +710,7 @@ namespace Bit.Core.Services
}
else
{
if(!paymentMethodType.HasValue)
{
if(paymentToken.StartsWith("tok_"))
{
paymentMethodType = PaymentMethodType.Card;
}
else if(paymentToken.StartsWith("btok_"))
{
paymentMethodType = PaymentMethodType.BankAccount;
}
else
{
paymentMethodType = PaymentMethodType.PayPal;
}
}
await _paymentService.PurchasePremiumAsync(user, paymentMethodType.Value,
paymentToken, additionalStorageGb);
await _paymentService.PurchasePremiumAsync(user, paymentMethodType, paymentToken, additionalStorageGb);
}
user.Premium = true;
@ -802,31 +785,14 @@ namespace Bit.Core.Services
await SaveUserAsync(user);
}
public async Task ReplacePaymentMethodAsync(User user, string paymentToken,
PaymentMethodType? paymentMethodType)
public async Task ReplacePaymentMethodAsync(User user, string paymentToken, PaymentMethodType paymentMethodType)
{
if(paymentToken.StartsWith("btok_"))
{
throw new BadRequestException("Invalid token.");
}
if(!paymentMethodType.HasValue)
{
if(paymentToken.StartsWith("tok_"))
{
paymentMethodType = PaymentMethodType.Card;
}
else if(paymentToken.StartsWith("btok_"))
{
paymentMethodType = PaymentMethodType.BankAccount;
}
else
{
paymentMethodType = PaymentMethodType.PayPal;
}
}
var updated = await _paymentService.UpdatePaymentMethodAsync(user, paymentMethodType.Value, paymentToken);
var updated = await _paymentService.UpdatePaymentMethodAsync(user, paymentMethodType, paymentToken);
if(updated)
{
await SaveUserAsync(user);