public async Task SendOrganizationPaymentFailedAsync() { var user = UserData.GenerateSampleUser(); var organization = OrganizationData.GenerateSampleOrganization(_billingManager, _plans); await _mailer.SendOrganizationPaymentFailedAsync(user, organization); await RunMailJobAsync(); }
private async Task InvoicePaymentFailedAsync(StripeInvoice inv) { var org = await _organizationRepository.GetByStripeCustomerIdAsync(inv.CustomerId).AnyContext(); if (org == null) { _logger.Error("Unknown customer id in payment failed notification: {0}", inv.CustomerId); return; } var user = await _userRepository.GetByIdAsync(org.BillingChangedByUserId).AnyContext(); if (user == null) { _logger.Error("Unable to find billing user: {0}", org.BillingChangedByUserId); return; } _logger.Info("Stripe payment failed. Customer: {0} Org: {1} Org Name: {2} Email: {3}", inv.CustomerId, org.Id, org.Name, user.EmailAddress); await _mailer.SendOrganizationPaymentFailedAsync(user, org).AnyContext(); }