mirror of
https://github.com/bitwarden/server.git
synced 2024-12-24 17:17:40 +01:00
Fixed 500 from invoice.upcoming not having an ID (#3128)
This commit is contained in:
parent
10782d55f3
commit
51ee463a71
@ -512,6 +512,10 @@ public class StripeController : Controller
|
||||
break;
|
||||
}
|
||||
case HandledStripeWebhook.UpcomingInvoice:
|
||||
var eventInvoice = await GetInvoiceAsync(parsedEvent);
|
||||
var customer = await GetCustomerAsync(eventInvoice.CustomerId);
|
||||
customerRegion = GetCustomerRegionFromMetadata(customer.Metadata);
|
||||
break;
|
||||
case HandledStripeWebhook.PaymentSucceeded:
|
||||
case HandledStripeWebhook.PaymentFailed:
|
||||
case HandledStripeWebhook.InvoiceCreated:
|
||||
@ -864,6 +868,23 @@ public class StripeController : Controller
|
||||
return subscription;
|
||||
}
|
||||
|
||||
private async Task<Customer> GetCustomerAsync(string customerId)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(customerId))
|
||||
{
|
||||
throw new Exception("Customer ID cannot be empty when attempting to get a customer from Stripe");
|
||||
}
|
||||
|
||||
var customerService = new CustomerService();
|
||||
var customer = await customerService.GetAsync(customerId);
|
||||
if (customer == null)
|
||||
{
|
||||
throw new Exception($"Customer is null. {customerId}");
|
||||
}
|
||||
|
||||
return customer;
|
||||
}
|
||||
|
||||
private async Task<Subscription> VerifyCorrectTaxRateForCharge(Invoice invoice, Subscription subscription)
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(invoice?.CustomerAddress?.Country) && !string.IsNullOrWhiteSpace(invoice?.CustomerAddress?.PostalCode))
|
||||
|
Loading…
Reference in New Issue
Block a user