public override void Install()
        {
            TpayPaymentSettings settings = new TpayPaymentSettings
            {
                MerchantId     = 0,
                MerchantSecret = String.Empty,
                IncludeShippingMethodInDescription = false,
                AdditionalFee = 0
            };

            settingService.SaveSetting(settings);
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.TPay.Instructions", "");
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.TPay.RedirectionTip", "You will be redirected to TPay site to complete the order.");
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.TPay.MerchantID", "Merchant ID");
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.TPay.MerchantId.Hint", "Enter Merchant ID provided by TPay.");
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.TPay.MerchantSecret", "Merchant Secret");
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.TPay.MerchantSecret.Hint", "Merchant Secret generated by you.");
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.TPay.IncludeShippingMethodInDescription", "Include shipping method in transaction description");
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.TPay.IncludeShippingMethodInDescription.Hint", "Include shipping method in transaction description");
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.TPay.AdditionalFee", "Additional Fee");
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.TPay.AdditionalFee.Hint", "Enter Additional.");
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.TPay.ApiPassword", "Api Password");
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.TPay.ApiPassword.Hint", "Enter api password");
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.TPay.ResultEmail", "Result email");
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.TPay.ResultEmail.Hint", "Enter result email");
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.TPay.ReturnErrorUrl", "Return error url");
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.TPay.ReturnErrorUrl.Hint", "Enter return error url");
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.TPay.ReturnUrl", "Return url");
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.TPay.ReturnUrl.Hint", "Enter return url");
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.TPay.ApiKey", "Api Key");
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.TPay.ApiKey.Hint", "Enter api key");
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.TPay.Language", "Language");
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.TPay.Language.Hint", "Language for Tpay interface when user is redirected");
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.TPay.NotifierIPs", "List of IPs for Notifications");
            this.AddOrUpdatePluginLocaleResource("Plugins.Payments.TPay.NotifierIPs.Hint", "List of IPs separated by comma from which application will be allowed to receive Notifications");
            base.Install();
        }
 public TpayPaymentProcessor(TpayPaymentSettings tPayPaymentSettings, ISettingService settingService, ITpayPaymentManager paymnentManager)
 {
     this.tPayPaymentSettings = tPayPaymentSettings;
     this.settingService      = settingService;
     this.paymentManager      = paymnentManager;
 }