public async Task <CheckoutResponse> Handle(CheckoutQuery request, CancellationToken cancellationToken) { var reservation = await _reservation.GetById(request.Id, cancellationToken) ?? throw new NotFoundException("Reservation Id", request.Id); if (reservation.CreatedById != _currentUser.User.Id) { throw new BadRequestException("This reservation is not yours"); } var _params = ConstructParametersMap(reservation); return(new CheckoutResponse { Url = _checkout.GenerateCheckout(_params, _configuration.GetValue <string>("Key:SafeCharge:Secret")) }); }