public void RefreshToken()
        {
            var storeScope            = GetActiveStoreScopeConfiguration(_storeService, _workContext);
            var contaAzulMiscSettings = _settingService.LoadSetting <ContaAzulMiscSettings>(storeScope);

            string username = contaAzulMiscSettings.client_id;
            string password = contaAzulMiscSettings.client_secret;

            TokenResponse tokenResponse = null;

            try
            {
                using (var token = new RefreshToken(contaAzulMiscSettings.UseSandbox))
                    tokenResponse = token.CreateAsync(username, password, contaAzulMiscSettings.refresh_token).ConfigureAwait(false).GetAwaiter().GetResult();

                contaAzulMiscSettings.access_token  = tokenResponse.AcessToken;
                contaAzulMiscSettings.refresh_token = tokenResponse.RefreshToken;

                _settingService.SaveSetting(contaAzulMiscSettings);

                //now clear settings cache
                _settingService.ClearCache();
            }
            catch (Exception ex)
            {
                ErrorNotification(ex.Message);
                _logger.Error(ex.Message, ex);
            }
        }