1
0
mirror of https://github.com/bitwarden/server synced 2025-12-22 03:03:33 +00:00

[SG-72] Sync changed email address with stripe (#2042)

* sync changed email address with strip

* sync changed email address with strip

* fixed formatting

* throw exception if not successful

* Added revert if stripe sync fails

* Added revert if stripe sync fails

* Added revert if stripe sync fails

* created stripe sync service

* fixed lint issue

* reverted to use stripe exception message

* added null checks to customer id and email address

* added braces

* removed empty email
This commit is contained in:
Gbubemi Smith
2022-06-16 17:45:26 +01:00
committed by GitHub
parent b39a43210d
commit 8e79c20dce
6 changed files with 107 additions and 1 deletions

View File

@@ -0,0 +1,33 @@
using System.Threading.Tasks;
using Bit.Core.Exceptions;
namespace Bit.Core.Services
{
public class StripeSyncService : IStripeSyncService
{
private readonly IStripeAdapter _stripeAdapter;
public StripeSyncService(IStripeAdapter stripeAdapter)
{
_stripeAdapter = stripeAdapter;
}
public async Task UpdateCustomerEmailAddress(string gatewayCustomerId, string emailAddress)
{
if (string.IsNullOrWhiteSpace(gatewayCustomerId))
{
throw new InvalidGatewayCustomerIdException();
}
if (string.IsNullOrWhiteSpace(emailAddress))
{
throw new InvalidEmailException();
}
var customer = await _stripeAdapter.CustomerGetAsync(gatewayCustomerId);
await _stripeAdapter.CustomerUpdateAsync(customer.Id,
new Stripe.CustomerUpdateOptions { Email = emailAddress });
}
}
}