コード例 #1
0
        // GET: Startimes
        public ActionResult Index(string MethodName)
        {
            Classes.Paytv poo = new Paytv();
            poo.Create();



            //service.ClientCertificates.Add(cert);
            // cert.Import("Client.pfx", "", DefaultKeySet);
            ///service.ClientCredentials.ClientCertificate.Certificate = cert; ServicePointManager.ServerCertificateValidationCallback = null;
            ///


            using (new OperationContextScope(service.InnerChannel))
            {
                string strUsrName  = ConfigurationManager.AppSettings["UserName"];
                string strPassword = ConfigurationManager.AppSettings["Password"];
                // We will use a custom class called UserInfo to be passed in as a MessageHeader
                Classes.servicelm.AuthSoapHd CALLCENTER = new servicelm.AuthSoapHd();
                CALLCENTER.CALLCENTER_PASSWORD = "******";
                CALLCENTER.CALLCENTER_USERNAME = "******";


                // Add a SOAP Header to an outgoing request
                MessageHeader aMessageHeader = MessageHeader.CreateHeader("CALLCENTER", "http://tempuri.org", CALLCENTER);
                OperationContext.Current.OutgoingMessageHeaders.Add(aMessageHeader);

                // Add a HTTP Header to an outgoing request
                HttpRequestMessageProperty requestMessage = new HttpRequestMessageProperty();
                requestMessage.Headers.Add("CALLCENTER_PASSWORD", strPassword);
                //["CALLCENTER_PASSWORD"] = strPassword;
                //requestMessage.Headers["CALLCENTER_USERNAME"] = strUsrName;
                requestMessage.Headers.Add("CALLCENTER_USERNAME", strUsrName);

                OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = requestMessage;

                var cnd = new Starboss.SubscriberQueryCondition
                {
                    payerID       = "4200",
                    payerPwd      = "abb409d3cd1bcf6585b34f2f461d0c8a",
                    smartCardCode = "02146533082",
                    transactionNo = "nnbnnbguyvkuygnehsh",
                };
                // SSLValidator.OverrideValidation();
                var xx = service.querySubscriberInfo(cnd);
                var a  = xx;
            }


            return(View());
        }
コード例 #2
0
ファイル: AirtimeController.cs プロジェクト: Paelyt/Payorboro
        public string paySubscribtion(string refNum)
        {
            try
            {
                string  agentID   = ConfigurationManager.AppSettings["agentID"];
                string  agentKey  = ConfigurationManager.AppSettings["agentKey"];
                string  email     = ConfigurationManager.AppSettings["agentEmail"];
                dynamic payObjx   = new JObject();
                dynamic payObj    = _dr.PayLoad(refNum);
                dynamic obj       = new JObject();
                string  valueTime = DateTime.Now.ToString("Hmmss");
                obj.refNumber = refNum; //"Agent" + DateTime.Now.ToString("yyyyMMdd") + valueTime;

                obj.amount      = payObj.Amount;
                obj.phoneNumber = payObj.CustomerID;
                obj.serviceType = payObj.ServiceDetails;

                var plainText = (agentID + agentKey + obj.refNumber);
                var builder   = new StringBuilder();
                builder.Append(agentID).Append(agentKey).Append(obj.phoneNumber);
                var hash = new CryptographyManager().ComputeHash(builder.ToString(), HashName.SHA512);
                obj.hashValue = hash;
                var json = obj.ToString();

                string sessionID     = Paytv.GetSessionID();
                var    signaturetext = new StringBuilder();
                signaturetext.Append(agentID).Append(agentKey).Append(email);

                var signature = new CryptographyManager().ComputeHash(signaturetext.ToString(), HashName.SHA512);
                var PostUrl   = ConfigurationManager.AppSettings["BuyAirtime"];
                var data      = Utility.DoPosts1(json, $"{PostUrl}", agentID, agentKey, signature, sessionID);
                return(data);
            }
            catch (Exception ex)
            {
                WebLog.Log(ex.Message.ToString());
                //Label1.Text = ex.Message.ToString();
                return(null);
            }
        }
コード例 #3
0
        public string BuyStartimeRequest(string CustomerID, string Amount, string Phone, string Bouqet)
        {
            try
            {
                Paytv.CustomerObj PayObj  = new Paytv.CustomerObj();
                dynamic           payObjx = new JObject();
                PayObj.CustomerID = CustomerID;
                PayObj.Amount     = Amount;
                PayObj.Phone      = Phone;
                PayObj.Bouquet    = Bouqet;
                // UpdateCustomerTransaction(payObject);
                Paytv _paytv = new Paytv();
                //Customer Validation
                if (string.IsNullOrEmpty(CustomerID))
                {
                    soapResult =
                        new JObject(
                            new JProperty("status", "error"),
                            new JProperty("message", "Empty CustomerID"),
                            new JProperty("data", new JObject())).ToString();
                    return(soapResult.ToString());
                }
                dynamic AgentObj  = new JObject();
                var     req       = Request;
                var     headers   = req.Headers;
                string  myAgentID = "";
                try
                {
                    myAgentID = headers.GetValues("agentID").First() ?? "";
                }
                catch
                {
                    WebLog.Log("Cannot Read AgentID as header");
                }

                var agentID   = headers.GetValues("agentID").First() ?? "";
                var agentKey  = headers.GetValues("agentKey").First() ?? "";
                var signature = headers.GetValues("signature").First() ?? "";

                AgentObj.AgentID   = agentID;
                AgentObj.AgentKey  = agentKey;
                AgentObj.Signature = signature;
                var Authenticated = IsTransactionAutheticated(AgentObj);

                if (Authenticated == false)
                {
                    soapResult =
                        new JObject(
                            new JProperty("status", "Error"),
                            new JProperty("message", "Authentication Failed"),
                            new JProperty("data", new JObject())).ToString();
                    // return Json(soapResult);
                    return(soapResult.ToString());
                }
                payObjx.agentID       = agentID;
                payObjx.Phone         = Phone;
                payObjx.smartCardCode = CustomerID;
                payObjx.Amount        = PayObj.Amount;
                payObjx.PayResCode    = payObjx.returnCode;
                payObjx.Bouqet        = PayObj.Bouquet;
                soapResult            = _paytv.PaySubscription(PayObj, Phone);

                XmlDocument xd = new XmlDocument();
                xd.LoadXml(soapResult);
                XmlTextReader reader  = default(XmlTextReader);
                XmlReader     xReader = XmlReader.Create(new StringReader(soapResult));
                using (StringReader stringReader = new StringReader(soapResult))
                {
                    reader = new XmlTextReader(stringReader);
                    while (reader.Read())
                    {
                        switch (reader.NodeType)
                        {
                        case XmlNodeType.Element:

                            if ((reader.Name == "returnCode"))
                            {
                                returnCode         = reader.ReadElementString();
                                payObjx.returnCode = returnCode;
                            }

                            if ((reader.Name == "returnMsg"))
                            {
                                returnMsg         = reader.ReadElementString();
                                payObjx.returnMsg = returnMsg;
                            }
                            if ((reader.Name == "Phone"))
                            {
                                returnMsg     = reader.ReadElementString();
                                payObjx.Phone = returnMsg;
                            }

                            if ((reader.Name == "transactionNo"))
                            {
                                var tranNum = reader.ReadElementString();
                                //payObjx.tranNum = tranNum;
                                payObjx.transactionlNo = tranNum;
                                //payObjx.Phone = Phone;
                                //var json = new JavaScriptSerializer().Serialize(payObjx);

                                // soapResult = json;
                                string json = Newtonsoft.Json.JsonConvert.SerializeObject(payObjx);
                                soapResult = json;
                            }
                            break;

                        case XmlNodeType.Text:

                            break;

                        case XmlNodeType.EndElement:

                            break;
                        }
                    }
                }

                //insertTransactionLog(payObjx);
                QueryStartimeBalance(payObjx);
                return(soapResult.ToString());
            }
            catch (Exception ex)
            {
                WebLog.Log(ex);
                var obj =
                    new JObject(
                        new JProperty("status", "error"),
                        new JProperty("message", $"{ex.Message}"),
                        new JProperty("data", new JObject()));

                return(obj.ToString());
            }
        }
コード例 #4
0
        public string QueryStartimeBalance(dynamic payObjx)
        {
            try
            {
                Paytv.CustomerObj PayObj = new Paytv.CustomerObj();
                //dynamic payObjx = new JObject();
                PayObj.CustomerID = payObjx.smartCardCode;
                PayObj.Amount     = payObjx.Amount;
                PayObj.Phone      = payObjx.Phone;

                string transactionID = payObjx.transactionlNo;
                //string transactionID = "movingtotestEnvironment";
                //PayObj.Service = payObjx.transactionlNo;
                PayObj.Service = transactionID;
                // UpdateCustomerTransaction(payObject);
                Paytv _paytv = new Paytv();
                //Customer Validation
                if (string.IsNullOrEmpty(PayObj.CustomerID))
                {
                    soapResult =
                        new JObject(
                            new JProperty("status", "error"),
                            new JProperty("message", "Empty CustomerID"),
                            new JProperty("data", new JObject())).ToString();
                    return(soapResult.ToString());
                }
                dynamic AgentObj = new JObject();
                // var req = Request;
                // var headers = req.Headers;
                // string myAgentID = "";
                // try
                // {
                //     myAgentID = headers.GetValues("agentID").First() ?? "";
                // }
                // catch
                // {
                //     WebLog.Log("Cannot Read AgentID as header");
                // }

                // var agentID = headers.GetValues("agentID").First() ?? "";
                // var agentKey = headers.GetValues("agentKey").First() ?? "";
                // var signature = headers.GetValues("signature").First() ?? "";

                // AgentObj.AgentID = agentID;
                // AgentObj.AgentKey = agentKey;
                // AgentObj.Signature = signature;
                // var Authenticated = IsTransactionAutheticated(AgentObj);

                // if (Authenticated == false)
                // {
                //     soapResult =
                //      new JObject(
                //          new JProperty("status", "Error"),
                //          new JProperty("message", "Authentication Failed"),
                //          new JProperty("data", new JObject())).ToString();
                //     // return Json(soapResult);
                //     return soapResult.ToString();
                // }
                // payObjx.agentID = agentID;
                //// payObjx.Phone = Phone;
                payObjx.PayResCode = payObjx.returnCode;
                soapResult         = _paytv.GetBalance(PayObj);

                XmlDocument xd = new XmlDocument();
                xd.LoadXml(soapResult);
                XmlTextReader reader  = default(XmlTextReader);
                XmlReader     xReader = XmlReader.Create(new StringReader(soapResult));
                using (StringReader stringReader = new StringReader(soapResult))
                {
                    reader = new XmlTextReader(stringReader);
                    while (reader.Read())
                    {
                        switch (reader.NodeType)
                        {
                        case XmlNodeType.Element:

                            if ((reader.Name == "returnCode"))
                            {
                                returnCode         = reader.ReadElementString();
                                payObjx.returnCode = returnCode;
                            }


                            if ((reader.Name == "returnMsg"))
                            {
                                returnMsg         = reader.ReadElementString();
                                payObjx.returnMsg = returnMsg;
                            }
                            if ((reader.Name == "balance"))
                            {
                                returnMsg      = reader.ReadElementString();
                                payObjx.Amount = returnMsg;
                            }
                            if ((reader.Name == "customerName"))
                            {
                                returnMsg = reader.ReadElementString();
                                var Name = returnMsg;
                                payObjx.CustomerName = Name;
                            }
                            if ((reader.Name == "smartCardCode"))
                            {
                                returnMsg = reader.ReadElementString();
                                var Name = returnMsg;
                                payObjx.smartCardCode = Name;
                            }
                            if ((reader.Name == "TELDealID"))
                            {
                                var tranNum = reader.ReadElementString();
                                payObjx.tranNum = tranNum;
                                //payObjx.Phone = Phone;
                                //var json = new JavaScriptSerializer().Serialize(payObjx);

                                // soapResult = json;
                                string json = Newtonsoft.Json.JsonConvert.SerializeObject(payObjx);
                                soapResult = json;
                            }
                            break;

                        case XmlNodeType.Text:

                            break;

                        case XmlNodeType.EndElement:

                            break;
                        }
                    }
                }

                insertTransactionLog(payObjx);

                return(soapResult.ToString());
            }
            catch (Exception ex)
            {
                WebLog.Log(ex);
                var obj =
                    new JObject(
                        new JProperty("status", "error"),
                        new JProperty("message", $"{ex.Message}"),
                        new JProperty("data", new JObject()));

                return(obj.ToString());
            }
        }
コード例 #5
0
        public string ValidateStartimeRequest(string CustomerID, string Service, string Bouquet)
        {
            try
            {
                PayObj.CustomerID = CustomerID;
                PayObj.Bouquet    = Bouquet;
                PayObj.Service    = Service;

                Paytv   _paytv  = new Paytv();
                dynamic payObjx = new JObject();
                //Customer Validation
                if (string.IsNullOrEmpty(CustomerID))
                {
                    soapResult =
                        new JObject(
                            new JProperty("status", "error"),
                            new JProperty("message", "Empty CustomerID"),
                            new JProperty("data", new JObject())).ToString();

                    return(soapResult.ToString());
                }
                dynamic AgentObj  = new JObject();
                var     req       = Request;
                var     headers   = req.Headers;
                string  myAgentID = "";
                try
                {
                    myAgentID = headers.GetValues("agentID").First() ?? "";
                }
                catch
                {
                    WebLog.Log("Cannot Read AgentID as header");
                }

                var agentID   = headers.GetValues("agentID").First() ?? "";
                var agentKey  = headers.GetValues("agentKey").First() ?? "";
                var signature = headers.GetValues("signature").First() ?? "";

                AgentObj.AgentID   = agentID;
                AgentObj.AgentKey  = agentKey;
                AgentObj.Signature = signature;
                var Authenticated = IsTransactionAutheticated(AgentObj);

                if (Authenticated == false)
                {
                    soapResult =
                        new JObject(
                            new JProperty("status", "Error"),
                            new JProperty("message", "Authentication Failed"),
                            new JProperty("data", new JObject())).ToString();

                    return(soapResult.ToString());
                }
                // var CustomerID = ispObject.CustomerID;
                payObjx.agentID = agentID;
                //  payObjx.PayResCode = 0;
                soapResult = _paytv.GetCustomerInfo(PayObj);

                XmlDocument xd = new XmlDocument();
                xd.LoadXml(soapResult);
                XmlTextReader reader  = default(XmlTextReader);
                XmlReader     xReader = XmlReader.Create(new StringReader(soapResult));
                if (soapResult == null)
                {
                    return(soapResult.ToString());
                }
                if (soapResult != null)
                {
                    using (StringReader stringReader = new StringReader(soapResult))
                    {
                        reader = new XmlTextReader(stringReader);
                        while (reader.Read())
                        {
                            switch (reader.NodeType)
                            {
                            case XmlNodeType.Element:
                                if ((reader.Name == "returnCode"))
                                {
                                    returnCode         = reader.ReadElementString();
                                    payObjx.returnCode = returnCode;
                                }
                                if ((reader.Name == "returnMsg"))
                                {
                                    returnMsg         = reader.ReadElementString();
                                    payObjx.returnMsg = returnMsg;
                                }
                                if ((reader.Name == "customerName"))
                                {
                                    returnMsg = reader.ReadElementString();
                                    var Name = returnMsg;
                                    // PaytvObj.customerName = Name;
                                    payObjx.customername = Name;
                                }
                                if ((reader.Name == "balance"))
                                {
                                    returnMsg       = reader.ReadElementString();
                                    payObjx.Balance = returnMsg;
                                }

                                if ((reader.Name == "smartCardCode"))
                                {
                                    returnMsg = reader.ReadElementString();
                                    var Name = returnMsg;
                                    payObjx.smartCardCode = Name;
                                }
                                if ((reader.Name == "canOrderProductInfos"))
                                {
                                    returnMsg = reader.ReadElementString();
                                    var canOrderProductInfos = returnMsg;
                                    payObjx.smartCardCode = canOrderProductInfos;
                                }
                                if ((reader.Name == "transactionlNo"))
                                {
                                    var tranNum = reader.ReadElementString();
                                    PaytvObj.transactionlNo = tranNum;
                                    payObjx.transactionlNo  = tranNum;
                                    //var json = new JavaScriptSerializer().Serialize(PaytvObj);

                                    //soapResult = json;
                                    //payObjx.returnCode = 0;
                                    //payObjx.orderedProductsDesc = "Basic Bouqet";
                                    //payObjx.subscriberStatus = "0";
                                    //payObjx.returnMsg = "moving";
                                    //payObjx.Amount = "200";
                                    //payObjx.CustomerName = "tolulope";
                                    //payObjx.smartCardCode = "12322222";
                                    //                payObjx.tranNum = "vbvvbbbb";
                                    //                payObjx.Phone = "08077755537";
                                    //                payObjx.agentID = "uuuuuuu";
                                    string json = Newtonsoft.Json.JsonConvert.SerializeObject(payObjx);
                                    soapResult = json;
                                }
                                break;

                            case XmlNodeType.Text:

                                break;

                            case XmlNodeType.EndElement:

                                break;
                            }
                        }
                    }
                    //  insertTransactionLog(payObjx);
                    QueryStartimeBalance(payObjx);
                    return(soapResult.ToString());
                }
                return(soapResult.ToString());
            }
            catch (Exception ex)
            {
                WebLog.Log(ex);
                var obj =
                    new JObject(
                        new JProperty("status", "error"),
                        new JProperty("message", $"{ex.Message}"),
                        new JProperty("data", new JObject()));
                //return Json(obj);
                return(obj.ToString());
            }
        }