public IPaymentProvider Get(PaymentProviderType providerType)
 {
     if (_allProviders.ContainsKey(providerType))
     {
         return(_allProviders[providerType]);
     }
     else
     {
         throw new NotSupportedException("Missing setting for provider " + providerType.ToString());
     }
 }
        private static List <PaymentProviderSetting> GetAllProvidersFromDB(bool activeList)
        {
            List <PaymentProviderSetting> providerList = new List <PaymentProviderSetting>();

            using (SqlDataReader reader = GetAllProviders(activeList))
            {
                while (reader.Read())
                {
                    PaymentProviderType type = PaymentProviderType.EPayAccount;
                    if (System.Enum.TryParse <PaymentProviderType>(reader["ProviderName"].ToString(), out type))
                    {
                        PaymentProviderSetting item = new PaymentProviderSetting();
                        item.ProviderID   = (int)reader["ProviderId"];
                        item.ProviderType = type;
                        item.Title        = type.ToString();
                        item.ProviderXML  = reader["ProviderXml"].ToString();
                        item.Active       = Convert.ToBoolean(reader["Active"]);
                        item.IsDefault    = Convert.ToBoolean(reader["IsDefault"]);
                        providerList.Add(item);
                    }
                }
            }
            return(providerList);
        }
Exemple #3
0
 protected override bool OnDeserializeUnrecognizedElement(string elementName, XmlReader reader)
 {
     if (elementName.ToLower() == "providers")
     {
         Providers = new List <PaymentProviderSetting>();
         while (reader.Read() && reader.Name != "providers")
         {
             if (reader.Name.ToLower() == "add" && reader.NodeType == XmlNodeType.Element)
             {
                 PaymentProviderSetting setting = new PaymentProviderSetting();
                 PaymentProviderType    type    = PaymentProviderType.EPayAccount;
                 if (Enum.TryParse <PaymentProviderType>(reader.GetAttribute("name"), out type))
                 {
                     setting.ProviderType = type;
                     setting.Title        = type.ToString();
                     setting.Active       = true;
                     setting.ProviderXML  = reader.ReadOuterXml();
                     if (setting.ProviderType.ToString().ToLower() == DefaultProviderName.ToLower())
                     {
                         setting.IsDefault = true;
                     }
                     Providers.Add(setting);
                 }
                 else
                 {
                     throw new ConfigurationErrorsException("Unknown provider configuration. Provider Name: " + reader.GetAttribute("name") + ", Please check the file.", reader);
                 }
             }
         }
         return(true);
     }
     else
     {
         return(base.OnDeserializeUnrecognizedElement(elementName, reader));
     }
 }
Exemple #4
0
        public static IPaymentProvider CreateProvider(PaymentProviderType type, string providerXML)
        {
            IPaymentProvider provider = null;

            switch (type)
            {
            case PaymentProviderType.EPayAccount:
                provider = new ePayAccount();
                break;

            case PaymentProviderType.NationalBankcardSystem:
                provider = new NationalBankcardAccount();
                break;

            case PaymentProviderType.AuthorizeNetAccount:
                provider = new AuthorizeNetAccount();
                break;

            case PaymentProviderType.USAePayAccount:
                provider = new USAePayAccount();
                break;

            case PaymentProviderType.LitleCorpAccount:
                provider = new LitleCorpAccountAccount();
                break;

            case PaymentProviderType.PayPalProFlowAccount:
                provider = new PayPalProFlowAccount();
                break;

            case PaymentProviderType.OrbitalChasePaymentechAccount:
                provider = new OrbitalChasePaymentechAccount();
                break;

            case PaymentProviderType.PayPalAdaptivePayment:
                provider = new PayPalAdaptivePaymentAccount();
                break;

            case PaymentProviderType.PayPalExpressCheckout:
                provider = new PayPalExpressCheckoutAccount();
                break;

            case PaymentProviderType.PayPalDirectPayment:
                provider = new PayPalDirectPayment();
                break;

            case PaymentProviderType.DataPakAccount:
                provider = new DataPakAccount();
                break;

            case PaymentProviderType.PaymentX:
                provider = new PaymentX();
                break;

            case PaymentProviderType.Cielo:
                provider = new Cielo();
                break;

            default:
                break;
            }

            if (provider == null)
            {
                throw new ApplicationException("Provider " + type.ToString() + " is not implemented");
            }

            provider.Initialize(XElement.Parse(providerXML));

            return(provider);
        }