/// <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(); }
/// <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(); }
/// <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(); }