public async Task <IActionResult> CheckCredentials()
        {
            if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageTaxSettings))
            {
                return(AccessDeniedView());
            }

            //verify credentials
            var credentials = await _avalaraTaxManager.PingAsync();

            if (credentials?.authenticated ?? false)
            {
                var locale = await _localizationService.GetResourceAsync("Plugins.Tax.Avalara.Configuration.Credentials.Verified");

                _notificationService.SuccessNotification(locale);
            }
            else
            {
                var locale = await _localizationService.GetResourceAsync("Plugins.Tax.Avalara.Configuration.Credentials.Declined");

                _notificationService.ErrorNotification(locale);
            }

            //check certificate setup status
            var status = await _avalaraTaxManager.GetCertificateSetupStatusAsync();

            if (status is null)
            {
                var locale = await _localizationService.GetResourceAsync("Plugins.Tax.Avalara.Configuration.Certificates.NotProvisioned");

                _notificationService.ErrorNotification(locale);
            }
            else if (status == false)
            {
                var locale = await _localizationService.GetResourceAsync("Plugins.Tax.Avalara.Configuration.Certificates.InProgress");

                _notificationService.WarningNotification(locale);
            }
            else
            {
                var locale = await _localizationService.GetResourceAsync("Plugins.Tax.Avalara.Configuration.Certificates.Provisioned");

                _notificationService.SuccessNotification(locale);
            }

            return(await Configure());
        }