Exemple #1
0
        protected virtual Dictionary <string, object> ExecuteSendAuthorizeRequest(Dictionary <string, string> request, string payloadTAG)
        {
            Dictionary <string, object> result = new Dictionary <string, object>();

            using (var client = new AuthorizeService.AuthorizePortTypeClient(this.AuthorizeBinding, this.AuthorizeEndpoint))
            {
                HeaderHttpExtension.AddCustomHeaderUserInformation(new OperationContextScope(client.InnerChannel), this.Headers);
                string statusMessage, URL_Request, RequestKey, PublicRequestKey;

                var statusCode = client.SendAuthorizeRequest(
                    request[ElementNames.SECURITY],
                    request[ElementNames.SESSION],
                    request[ElementNames.MERCHANT],
                    request[ElementNames.URL_OK],
                    request[ElementNames.URL_ERROR],
                    request[ElementNames.ENCODING_METHOD],
                    payloadTAG,
                    out statusMessage,
                    out URL_Request,
                    out RequestKey,
                    out PublicRequestKey);

                result.Add(ElementNames.STATUS_CODE, statusCode);
                result.Add(ElementNames.STATUS_MESSAGE, statusMessage);
                result.Add(ElementNames.URL_REQUEST, URL_Request);
                result.Add(ElementNames.REQUEST_KEY, RequestKey);
                result.Add(ElementNames.PUBLIC_REQUEST_KEY, PublicRequestKey);
            }

            return(result);
        }
Exemple #2
0
        protected virtual Dictionary <string, object> ExecuteGetAuthorizeAnswer(Dictionary <string, string> request)
        {
            Dictionary <string, object> result = new Dictionary <string, object>();

            using (var client = new AuthorizeService.AuthorizePortTypeClient(this.AuthorizeBinding, this.AuthorizeEndpoint))
            {
                HeaderHttpExtension.AddCustomHeaderUserInformation(new OperationContextScope(client.InnerChannel), this.Headers);

                string statusMessage, authorizationKey, encodingMethod;
                object payload;

                var statusCode = client.GetAuthorizeAnswer(
                    request[ElementNames.SECURITY],
                    request[ElementNames.SESSION],
                    request[ElementNames.MERCHANT],
                    request[ElementNames.REQUESTKEY],
                    request[ElementNames.ANSWERKEY],
                    out statusMessage,
                    out authorizationKey,
                    out encodingMethod,
                    out payload);

                result.Add(ElementNames.STATUS_CODE, statusCode);
                result.Add(ElementNames.STATUS_MESSAGE, statusMessage);
                result.Add(ElementNames.AUTHORIZATIONKEY, authorizationKey);
                result.Add(ElementNames.ENCODINGMETHOD, encodingMethod);
                result.Add(ElementNames.PAYLOAD, payload);
            }

            return(result);
        }
Exemple #3
0
        public Dictionary <string, object> SendAuthorizeRequest(Dictionary <string, string> request, Dictionary <string, string> payloads)
        {
            var result = new Dictionary <string, object>();

            string payloadTAG = String.Empty;

            payloadTAG = "<Request>";
            foreach (var payload in payloads.Keys)
            {
                payloadTAG += "<" + payload.ToUpper() + ">" + payloads[payload] + "</" + payload.ToUpper() + ">";
            }
            payloadTAG += "</Request>";

            try
            {
                using (var client = new AuthorizeService.AuthorizePortTypeClient(this.AuthorizeBinding, this.AuthorizeEndpoint))
                {
                    HeaderHttpExtension.AddCustomHeaderUserInformation(new OperationContextScope(client.InnerChannel), this.Headers);

                    string statusMessage, URL_Request, RequestKey, PublicRequestKey;

                    var statusCode = client.SendAuthorizeRequest(
                        request[SECURITY],
                        request[SESSION],
                        request[MERCHANT],
                        request[URL_OK],
                        request[URL_ERROR],
                        request[ENCODING_METHOD],
                        payloadTAG,
                        out statusMessage,
                        out URL_Request,
                        out RequestKey,
                        out PublicRequestKey);

                    result.Add("StatusCode", statusCode);
                    result.Add("StatusMessage", statusMessage);
                    result.Add("URL_Request", URL_Request);
                    result.Add("RequestKey", RequestKey);
                    result.Add("PublicRequestKey", PublicRequestKey);
                }
            }
            catch (Exception ex)
            {
                ///TODO: ACA VA EL MANEJO DE EXCEPCIONES
                result.Add("ErrorMessage", ex.Message);
                throw ex;
            }

            return(result);
        }
Exemple #4
0
        public Dictionary <string, object> GetAuthorizeAnswer(Dictionary <string, string> request)
        {
            var result = new Dictionary <string, object>();

            try
            {
                using (var client = new AuthorizeService.AuthorizePortTypeClient(this.AuthorizeBinding, this.AuthorizeEndpoint))
                {
                    HeaderHttpExtension.AddCustomHeaderUserInformation(new OperationContextScope(client.InnerChannel), this.Headers);

                    string statusMessage, authorizationKey, encodingMethod;
                    object payload;

                    var statusCode = client.GetAuthorizeAnswer(
                        request[ElementNames.SECURITY],
                        request[ElementNames.SESSION],
                        request[ElementNames.MERCHANT],
                        request[ElementNames.REQUESTKEY],
                        request[ElementNames.ANSWERKEY],
                        out statusMessage,
                        out authorizationKey,
                        out encodingMethod,
                        out payload);

                    result.Add(ElementNames.STATUS_CODE, statusCode);
                    result.Add(ElementNames.STATUS_MESSAGE, statusMessage);
                    result.Add(ElementNames.AUTHORIZATIONKEY, authorizationKey);
                    result.Add(ElementNames.ENCODINGMETHOD, encodingMethod);
                    result.Add(ElementNames.PAYLOAD, payload);
                }
            }
            catch (Exception ex)
            {
                ///TODO: ACA VA EL MANEJO DE EXCEPCIONES
                result.Add("ErrorMessage", ex.Message);
                throw ex;
            }

            return(result);
        }
Exemple #5
0
        public Dictionary <string, object> SendAuthorizeRequest(Dictionary <string, string> request, Dictionary <string, string> payloads)
        {
            //Add version to payload dictionary
            // string val = "";
            // if (payloads.TryGetValue("SDK", out val))
            //{
            // payloads["SDK"] = ".NET";
            //}
            // else
            //{
            //payloads.Add("SDK", ".NET");
            //}

            //if (payloads.TryGetValue("SDKVERSION", out val))
            //{
            // payloads["SDKVERSION"] = versionTodoPago;
            //}
            //else
            //{
            //payloads.Add("SDKVERSION", versionTodoPago);
            //}

            // if (payloads.TryGetValue("LENGUAGEVERSION", out val))
            //{
            //payloads["LENGUAGEVERSION"] = Environment.Version.ToString();
            //}
            //else
            //{
            // payloads.Add("LENGUAGEVERSION", Environment.Version.ToString());
            //}


            var    result     = new Dictionary <string, object>();
            string payloadTAG = String.Empty;

            payloadTAG = "<Request>";

            //FraudControlValidate fc = new FraudControlValidate();
            //payloads = fc.validate(payloads);

            //if (!payloads.ContainsKey(ElementNames.ERROR))
            //{

            foreach (var payload in payloads.Keys)
            {
                payloadTAG += "<" + payload.ToUpper() + ">" + payloads[payload] + "</" + payload.ToUpper() + ">";
            }

            payloadTAG += "</Request>";
            //Console.WriteLine(payloadTAG);
            try
            {
                using (var client = new AuthorizeService.AuthorizePortTypeClient(this.AuthorizeBinding, this.AuthorizeEndpoint))
                {
                    HeaderHttpExtension.AddCustomHeaderUserInformation(new OperationContextScope(client.InnerChannel), this.Headers);
                    string statusMessage, URL_Request, RequestKey, PublicRequestKey;

                    var statusCode = client.SendAuthorizeRequest(
                        request[ElementNames.SECURITY],
                        request[ElementNames.SESSION],
                        request[ElementNames.MERCHANT],
                        request[ElementNames.URL_OK],
                        request[ElementNames.URL_ERROR],
                        request[ElementNames.ENCODING_METHOD],
                        payloadTAG,
                        out statusMessage,
                        out URL_Request,
                        out RequestKey,
                        out PublicRequestKey);

                    result.Add(ElementNames.STATUS_CODE, statusCode);
                    result.Add(ElementNames.STATUS_MESSAGE, statusMessage);
                    result.Add(ElementNames.URL_REQUEST, URL_Request);
                    result.Add(ElementNames.REQUEST_KEY, RequestKey);
                    result.Add(ElementNames.PUBLIC_REQUEST_KEY, PublicRequestKey);
                }
            }
            catch (Exception ex)
            {
                ///TODO: ACA VA EL MANEJO DE EXCEPCIONES
                result.Add("ErrorMessage", ex.Message);
                throw ex;
            }

            //}
            //else
            //{
            //    result = setResult(payloads);
            //}

            return(result);
        }