Exemplo n.º 1
0
            public async Task <Unit> Handle(Request request, CancellationToken cancellationToken)
            {
                var subscription = await _dbContext.Subscription
                                   .Include(x => x.Customer)
                                   .FirstOrDefaultAsync(x => x.Id == request.SubscriptionId && x.Customer.IdentityKey == _userContext.Id.ToString());

                if (subscription == null)
                {
                    return(Unit.Value);
                }

                await _stripeService.UpdateSubscriptionAsync(subscription.ExternalKey, options => options.CancelAtPeriodEnd = false);

                _logger.LogInformation("Subscription {SubscriptionId} cancel at period end set to false.  Stripe subscription identifier is {StripeSubscriptionId}", subscription.Id, subscription.ExternalKey);

                return(Unit.Value);
            }