public ErcTokenPaymentProcessor(ErcTokenPaymentSettings ErcTokenPaymentSettings,
                                 ILocalizationService localizationService,
                                 IPaymentService paymentService,
                                 ISettingService settingService,
                                 IShoppingCartService shoppingCartService,
                                 IWebHelper webHelper)
 {
     _ErcTokenPaymentSettings = ErcTokenPaymentSettings;
     _localizationService     = localizationService;
     _paymentService          = paymentService;
     _settingService          = settingService;
     _shoppingCartService     = shoppingCartService;
     _webHelper = webHelper;
 }
        /// <summary>
        /// Install the plugin
        /// </summary>
        public override void Install()
        {
            //settings
            var settings = new ErcTokenPaymentSettings
            {
                DescriptionText = "<p>Pay by ERC20 Token</p>"
            };

            _settingService.SaveSetting(settings);

            //locales
            _localizationService.AddOrUpdatePluginLocaleResource("Plugins.Payment.ErcToken.AdditionalFee", "Additional fee");
            _localizationService.AddOrUpdatePluginLocaleResource("Plugins.Payment.ErcToken.AdditionalFee.Hint", "The additional fee.");
            _localizationService.AddOrUpdatePluginLocaleResource("Plugins.Payment.ErcToken.AdditionalFeePercentage", "Additional fee. Use percentage");
            _localizationService.AddOrUpdatePluginLocaleResource("Plugins.Payment.ErcToken.AdditionalFeePercentage.Hint", "Determines whether to apply a percentage additional fee to the order total. If not enabled, a fixed value is used.");
            _localizationService.AddOrUpdatePluginLocaleResource("Plugins.Payment.ErcToken.DescriptionText", "Description");
            _localizationService.AddOrUpdatePluginLocaleResource("Plugins.Payment.ErcToken.DescriptionText.Hint", "Enter info that will be shown to customers during checkout");
            _localizationService.AddOrUpdatePluginLocaleResource("Plugins.Payment.ErcToken.PaymentMethodDescription", "Pay by ERC20 Token");
            _localizationService.AddOrUpdatePluginLocaleResource("Plugins.Payment.ErcToken.ShippableProductRequired", "Shippable product required");
            _localizationService.AddOrUpdatePluginLocaleResource("Plugins.Payment.ErcToken.ShippableProductRequired.Hint", "An option indicating whether shippable products are required in order to display this payment method during checkout.");

            base.Install();
        }