/// <summary>
        ///     Führt Abfrage der vorhandenen Zahlungsmethoden durch.
        ///     Kommuniaktion erfolgt im JSON Format
        /// </summary>
        private void RunPaymentGetTypes(PaySecupayGetTypes secupayGetTypes)
        {
            // Die Initialisierung wird in ein Data Transport Objekte gewandelt, das als JSON seralisiert werden kann
            GetTypesRequestDtoRoot dto = TDtoFactory.CreateGetTypesRequestDtoRoot(secupayGetTypes);
            secupayGetTypes.ApiUrl = string.Format("{0}/payment/gettypes", secupayGetTypes.ApiUrl);
            secupayGetTypes.JsonOut = dto.ToJsonString();

            // Anfrage vorab in DB speichern
            Context.SaveChanges();

            // Anfrage am Gateway synchron durchführen und Antwort speichern
            secupayGetTypes.JsonIn = RunWebRequest(secupayGetTypes.ApiUrl, secupayGetTypes.JsonOut);
            Context.SaveChanges();

            // Einzelne Wert in Objekt übernehmen
            var response = secupayGetTypes.JsonIn.FromJsonToObject<GetTypesResponseDtoRoot>();
            secupayGetTypes.ResponseStatus = response.Status;
            secupayGetTypes.ResponsePaymentTypes = String.Join(";", response.Data);

            // Antwort in DB sichern
            Context.SaveChanges();
        }
        /// <summary>
        ///     Führt Abfrage der vorhandenen Zahlungsmethoden durch.
        /// </summary>
        public PaySecupayGetTypes GetPaymentTypes()
        {
            // Anfrage erzeugen und in DB sichern
            PaySecupayGetTypes paySecupayGetTypes = new PaySecupayGetTypes
            {
                ApiKey = Config.ApiKey,
                ApiUrl = Config.SecupayUrl
            }.SetNew(Config.Username);

            Context.PaySecupayGetTypes.Add(paySecupayGetTypes);
            Context.SaveChanges();

            // Anfrage am Gateway durchführen
            RunPaymentGetTypes(paySecupayGetTypes);

            return paySecupayGetTypes;
        }