/// <summary> /// Install plugin method /// </summary> public override void Install() { //settings var settings = new PayAnyWayPaymentSettings { MntTestMode = true, }; _settingService.SaveSetting(settings); //locales this.AddOrUpdatePluginLocaleResource("Plugins.Payments.PayAnyWay.Fields.MntId", "Идентификатор магазина"); this.AddOrUpdatePluginLocaleResource("Plugins.Payments.PayAnyWay.Fields.MntId.Hint", "Укажите номер счета Вашего магазина. Получить его можно в личном кабинете на сайте http://moneta.ru. (в документации данное поле соответствует параметру MNT_ID)."); this.AddOrUpdatePluginLocaleResource("Plugins.Payments.PayAnyWay.Fields.MntTestMode", "Тестовый режим"); this.AddOrUpdatePluginLocaleResource("Plugins.Payments.PayAnyWay.Fields.MntTestMode.Hint", "Если выбрано, то все запросы к платежному сервису будут выполняться в тестовом режиме, то есть реального списания денег производится не будет. Внимание, для корректной работы данной функции она должна быть активирована одновременно в настройках плагина и счета."); this.AddOrUpdatePluginLocaleResource("Plugins.Payments.PayAnyWay.Fields.MntDemoArea", "Использовать демо площадку"); this.AddOrUpdatePluginLocaleResource("Plugins.Payments.PayAnyWay.Fields.MntDemoArea.Hint", "Если выбрано, то все запросы к платежному сервису будут выполняться на тестовой площадке, а не на основном сайте. (Подробней о демо площадке вы можете узнать в документации к MONETA.Assistant)"); this.AddOrUpdatePluginLocaleResource("Plugins.Payments.PayAnyWay.Fields.Hashcode", "Код проверки целостности данных"); this.AddOrUpdatePluginLocaleResource("Plugins.Payments.PayAnyWay.Fields.Hashcode.Hint", "Укажите код проверки целостности данных. Получить его можно в личном кабинете на сайте http://moneta.ru."); this.AddOrUpdatePluginLocaleResource("Plugins.Payments.PayAnyWay.Fields.AdditionalFee", "Комиссия"); this.AddOrUpdatePluginLocaleResource("Plugins.Payments.PayAnyWay.Fields.AdditionalFee.Hint", "Введите дополнительную плату, взымаемую с клиентов."); this.AddOrUpdatePluginLocaleResource("Plugins.Payments.PayAnyWay.Fields.AdditionalFeePercentage", "Комиссия в процентах"); this.AddOrUpdatePluginLocaleResource("Plugins.Payments.PayAnyWay.Fields.AdditionalFeePercentage.Hint", "Определяет, следует ли применять процентную комиссию от общей стоимости заказа. Если не включен, используется фиксированная комиссия."); this.AddOrUpdatePluginLocaleResource("Plugins.Payments.PayAnyWay.Fields.RedirectionTip", "Для оплаты Вы будете перенаправлены на сайт MONETA.RU."); base.Install(); }
/// <summary> /// Creates a PayAnyWayPaymentRequest /// </summary> /// <param name="settings">PayAnyWay payment settings</param> /// <param name="customerId">Customer identifier</param> /// <param name="orderGuid">Order GUID</param> /// <param name="orderTotal">Total sum</param> /// <param name="currencyCode">ISO currency code</param> public static PayAnyWayPaymentRequest CreatePayAnyWayPaymentRequest(PayAnyWayPaymentSettings settings, int customerId, Guid orderGuid, decimal orderTotal, string currencyCode) { return(new PayAnyWayPaymentRequest { MntId = settings.MntId, MntTestMode = settings.MntTestMode ? 1 : 0, MntHashcode = settings.Hashcode, MntSubscriberId = customerId, MntTransactionId = orderGuid.ToString(), MntCurrencyCode = currencyCode, MntAmount = String.Format(CultureInfo.InvariantCulture, "{0:0.00}", orderTotal) }); }