using GoodBooks.PAY.PAYBLL.Abstractions;
namespace GoodBooks.PAY.PAYBLL.Factory
{
///
/// Resolves the correct IPaymentGateway implementation by gateway code.
/// Registered as Singleton — the factory itself is stateless.
///
public interface IPaymentGatewayFactory
{
///
/// Returns the IPaymentGateway for the given gateway code.
/// Throws NotSupportedException for unknown codes.
///
IPaymentGateway GetGateway(string gatewayCode);
}
}