Ejemplo n.º 1
0
        /// <summary>
        ///     Führt eine Statusanfrage am Gateway durch.
        ///     Kommuniaktion erfolgt im JSON Format
        /// </summary>
        private void RunPaymentStatus(PaySecupayStatus secupayStatus)
        {
            // Die Statusanfrage wird in ein Data Transport Objekte gewandelt, das als JSON seralisiert werden kann
            StatusRequestDtoRoot dto = TDtoFactory.CreateStatusRequestDtoRoot(secupayStatus);

            secupayStatus.ApiUrl  = string.Format("{0}/payment/status", secupayStatus.ApiUrl);
            secupayStatus.JsonOut = dto.ToJsonString();

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

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

            // Die JSON Antwort in ein Data Transport Objekt deserialisieren
            var response = secupayStatus.JsonIn.FromJsonToObject <StatusResponseDtoRoot>();

            // Einzelne Wert in Objekt übernehmen
            secupayStatus.ResponseHash          = response.Data.Hash;
            secupayStatus.ResponsePaymentStatus = response.Data.PaymentStatus;
            secupayStatus.ResponseStatus        = response.Data.Status;
            secupayStatus.ResponseCreated       = response.Data.Created.FromJsonToDateTime();
            secupayStatus.ResponseDemo          = response.Data.Demo;
            secupayStatus.ResponseTransId       = response.Data.TransId;
            secupayStatus.ResponseAmount        = response.Data.Amount;
            secupayStatus.ResponseOpt           = "";//response.Data.Opt;

            secupayStatus.Status = response.Status;
            secupayStatus.Errors = response.Errors;

            // Antwort in DB sichern
            Context.SaveChanges();
        }
Ejemplo n.º 2
0
        /// <summary>
        ///     Führt eine Initalisierung am Gateway durch.
        ///     Kommuniaktion erfolgt im JSON Format
        /// </summary>
        private void RunPaymentInit(PaySecupayInit secupayInit)
        {
            // Die Initialisierung wird in ein Data Transport Objekte gewandelt, das als JSON seralisiert werden kann
            InitRequestDtoRoot dto = TDtoFactory.CreateInitRequestDtoRoot(secupayInit, Config);

            secupayInit.ApiUrl  = string.Format("{0}/payment/init", secupayInit.ApiUrl);
            secupayInit.JsonOut = dto.ToJsonString();

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

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

            // Die JSON Antwort in ein Data Transport Objekt deserialisieren
            var response = secupayInit.JsonIn.FromJsonToObject <InitResponseDtoRoot>();

            // Einzelne Wert in Objekt übernehmen
            secupayInit.ResponseStatus    = response.Status;
            secupayInit.ResponseIFrameUrl = response.Data.IFrameUrl;
            secupayInit.ResponseHash      = response.Data.Hash;
            secupayInit.ResponseErrors    = response.Errors;

            // Antwort in DB sichern
            Context.SaveChanges();
        }
Ejemplo n.º 3
0
        /// <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();
        }