using Nop.Core.Domain.Customers; using Nop.Services.Plugins; namespace Nop.Services.Payments; /// /// Represents a payment plugin manager /// public partial interface IPaymentPluginManager : IPluginManager { /// /// Load active payment methods /// /// Filter by customer; pass null to load all plugins /// Filter by store; pass 0 to load all plugins /// Filter by country; pass 0 to load all plugins /// /// A task that represents the asynchronous operation /// The task result contains the list of active payment methods /// Task> LoadActivePluginsAsync(Customer customer = null, int storeId = 0, int countryId = 0); /// /// Check whether the passed payment method is active /// /// Payment method to check /// Result bool IsPluginActive(IPaymentMethod paymentMethod); /// /// Check whether the payment method with the passed system name is active /// /// System name of payment method to check /// Filter by customer; pass null to load all plugins /// Filter by store; pass 0 to load all plugins /// /// A task that represents the asynchronous operation /// The task result contains the result /// Task IsPluginActiveAsync(string systemName, Customer customer = null, int storeId = 0); /// /// Get countries in which the passed payment method is not allowed /// /// Payment method /// /// A task that represents the asynchronous operation /// The task result contains the list of country identifiers /// Task> GetRestrictedCountryIdsAsync(IPaymentMethod paymentMethod); /// /// Save countries in which the passed payment method is not allowed /// /// Payment method /// List of country identifiers /// A task that represents the asynchronous operation Task SaveRestrictedCountriesAsync(IPaymentMethod paymentMethod, IList countryIds); }