public override void Install()
        {
            InstamojoSettings instamojoSetting = new InstamojoSettings()
            {
                ApiKey     = "",
                AuthToken  = "",
                EndPoint   = "",
                WebHookUrl = ""
            };

            this._settingService.SaveSetting <InstamojoSettings>(instamojoSetting, 0);
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.Instamojo.RedirectionTip", "You will be redirected to Instamojo site to complete the order.", null);
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.Instamojo.AuthToken", "Auth Token", null);
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.Instamojo.AuthToken.Hint", "Auth Token", null);
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.Instamojo.PrivateApiKey", "PrivateApiKey", null);
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.Instamojo.PrivateApiKey.Hint", "Enter PrivateApiKey.", null);
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.Instamojo.PrivateAuthToken", "PrivateAuthToken", null);
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.Instamojo.PrivateAuthToken.Hint", "Enter PrivateAuthToken.", null);
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.Instamojo.PrivateSalt", "PrivateSalt", null);
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.Instamojo.PrivateSalt.Hint", "Enter PrivateSalt", null);
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.Instamojo.WebHookUrl", "WebHookUrl", null);
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.Instamojo.WebHookUrl.Hint", "Enter WebHookUrl", null);
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.Instamojo.PaymentMethodDescription", "Pay by \"Instamojo\"");
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.Instamojo.PaymentFailed", "Payment been failed. Please try again.");
            base.Install();
        }
 public InstamojoProcessor(InstamojoSettings instamojoSettings, ISettingService settingService,
                           ICurrencyService currencyService, ILocalizationService localizationService,
                           CurrencySettings currencySettings, IWebHelper webHelper, IEmailSender emailSender,
                           IEmailAccountService emailAccountService, EmailAccountSettings emailAccountSettings,
                           ICustomerService customerService, IHttpContextAccessor httpContextAccessor)
 {
     this._instamojoSettings    = instamojoSettings;
     this._settingService       = settingService;
     this._currencyService      = currencyService;
     this._currencySettings     = currencySettings;
     this._webHelper            = webHelper;
     this._localizationService  = localizationService;
     this._emailSender          = emailSender;
     this._emailAccountService  = emailAccountService;
     this._emailAccountSettings = emailAccountSettings;
     this._customerService      = customerService;
     this._httpContextAccessor  = httpContextAccessor;
 }