Esempio n. 1
0
        public CardValidationResponse CallWebService(string cardNo)
        {
            CardValidationResponse resp = new CardValidationResponse();

            try
            {
                PegPay       api         = new PegPay();
                QueryRequest request     = new QueryRequest();
                Response     apiResponse = new Response();

                request.QueryField1 = cardNo;
                request.QueryField4 = "TOTAL";
                request.QueryField5 = "STANBIC_VAS";
                request.QueryField6 = "53P48KU262";
                apiResponse         = api.QueryCustomerDetails(request);

                resp.StatusCode        = apiResponse.ResponseField6;
                resp.HolderName        = apiResponse.ResponseField2;
                resp.StatusDescription = apiResponse.ResponseField7;
            }
            catch (Exception ee)
            {
                resp.StatusCode        = "100";
                resp.StatusDescription = "An Error Occured";
            }



            return(resp);
        }
        private PostResponse ReverseTransactionAtStanbic(Transaction trans)
        {
            PostResponse postResp = new PostResponse();

            try
            {
                DatabaseHandler dh = new DatabaseHandler();
                System.Net.ServicePointManager.ServerCertificateValidationCallback = RemoteCertificateValidation;
                System.Net.ServicePointManager.Expect100Continue = false;

                PegPay             pegpay = new PegPay();
                TransactionRequest req    = new TransactionRequest();
                req.PostField8 = dh.GetSystemSetting(22, 1);
                req.PostField5 = trans.TransNo;
                req.PostField4 = trans.UtilityCode;

                string dataToSign = req.PostField5 + req.PostField4 + req.PostField8;
                req.PostField25 = GetDigitalSign(dataToSign);

                StanbicApi.Response resp = pegpay.ReverseTransaction(req);

                string statusCode = resp.ResponseField6.ToUpper();
                if (statusCode == "0" || statusCode == "21")
                {
                    postResp.StatusCode        = "0";
                    postResp.StatusDescription = "SUCCESS";
                    postResp.PegPayPostId      = resp.ResponseField8;
                    dh.UpdatePrepaidTransactionStatus(trans);
                }
                else
                {
                    postResp.StatusCode        = "100";
                    postResp.StatusDescription = resp.ResponseField7;
                    postResp.PegPayPostId      = "";
                }
            }
            catch (Exception ex)
            {
                string errorMsg = ex.Message.ToUpper().Trim();

                if (errorMsg.Contains("UNABLE TO CONNECT"))
                {
                    //signal to skip this transaction
                    postResp.PegPayPostId      = "";
                    postResp.StatusCode        = "500";
                    postResp.StatusDescription = ex.Message;
                }
                else
                {
                    //signal to skip this transaction
                    postResp.PegPayPostId      = "";
                    postResp.StatusCode        = "500";
                    postResp.StatusDescription = ex.Message;
                }
            }
            return(postResp);
        }
Esempio n. 3
0
    public string GetServerStatus()
    {
        PegPay ep = new PegPay();

        System.Net.ServicePointManager.ServerCertificateValidationCallback = RemoteCertValidation;
        string status = ep.GetServerStatus();

        return(status);
    }
Esempio n. 4
0
    public ValidateCustomerResponse QueryCustomerDetails(ValidateCustomerRequest requestData)
    {
        ValidateCustomerResponse queryResp = new ValidateCustomerResponse();

        try
        {
            System.Net.ServicePointManager.ServerCertificateValidationCallback = RemoteCertificateValidation;

            //pick correct service name from db
            DataTable dt = dh.GetServiceDetailsFromDB(requestData.PayLoad.ServiceCode);

            if (dt.Rows.Count > 0)
            {
                DataRow dr              = dt.Rows[0];
                string  ServiceCode     = dr["ServiceCode"].ToString();
                string  ServiceName     = dr["ServiceName"].ToString();
                string  ServiceID       = dr["ServiceID"].ToString();
                string  requestCustType = "";

                if (ServiceCode.Equals("NWSC"))
                {
                    //read area from db
                    requestData.PayLoad.Area = ServiceName.Split(' ')[1];
                }
                else if (ServiceCode.Equals("UMEME"))
                {
                    requestCustType = ServiceName.Split(' ')[1].ToUpper();
                }
                //else if (ServiceCode == "FLEXIPAY-MERCHANT")
                //{
                //    return GetMerchantDetails(requestData, ServiceID);
                //}


                //generate level 1 query object
                QueryRequest levelOneQuery = GetPegpayQueryObject(requestData, ServiceCode);

                //query from level 1
                PegPay levelOneApi = new PegPay();
                ThirdPartyInterfaces.PegPay.Response levelOneResp = levelOneApi.QueryCustomerDetails(levelOneQuery);

                //return appropriate response
                if (levelOneResp.ResponseField6.Equals("0"))
                {
                    if (ServiceCode.Equals("UMEME"))
                    {
                        queryResp = ReturnUmemeResponse(levelOneResp, requestData, requestCustType);
                    }
                    else if (ServiceCode.Equals("FLEXIPAY"))
                    {
                        queryResp.Details.Status.StatusCode          = "";
                        queryResp.Details.Status.Description         = "";
                        queryResp.Details.Resultz.Area               = levelOneResp.ResponseField3;
                        queryResp.Details.Resultz.CustomerName       = levelOneResp.ResponseField2;
                        queryResp.Details.Resultz.CustomerReference  = levelOneResp.ResponseField1;
                        queryResp.Details.Resultz.CustomerType       = levelOneResp.ResponseField5;
                        queryResp.Details.Resultz.OutstandingBalance = levelOneResp.ResponseField4;
                        queryResp.Details.Resultz.Tin               = levelOneResp.ResponseField8;//requestData.PayLoad.Area;
                        queryResp.Details.Status.StatusCode         = "200";
                        queryResp.Details.Status.Description        = "Successful";
                        queryResp.Details.Resultz.StatusCode        = "0";
                        queryResp.Details.Resultz.StatusDescription = "SUCCESS";
                    }
                    else if (ServiceCode.Equals("URA"))
                    {
                        queryResp.Details.Status.StatusCode          = "";
                        queryResp.Details.Status.Description         = "";
                        queryResp.Details.Resultz.Area               = levelOneResp.ResponseField3;
                        queryResp.Details.Resultz.CustomerName       = levelOneResp.ResponseField2;
                        queryResp.Details.Resultz.CustomerReference  = levelOneResp.ResponseField1;
                        queryResp.Details.Resultz.CustomerType       = levelOneResp.ResponseField5;
                        queryResp.Details.Resultz.OutstandingBalance = levelOneResp.ResponseField4;
                        queryResp.Details.Resultz.Tin = levelOneResp.ResponseField3;
                        queryResp.Details.Resultz.RegistrationDate  = string.IsNullOrEmpty(levelOneResp.ResponseField8) ? "" : levelOneResp.ResponseField8;
                        queryResp.Details.Resultz.ExpiryDate        = string.IsNullOrEmpty(levelOneResp.ResponseField9) ? "" : levelOneResp.ResponseField9;
                        queryResp.Details.Status.StatusCode         = "200";
                        queryResp.Details.Status.Description        = "Successful";
                        queryResp.Details.Resultz.StatusCode        = "0";
                        queryResp.Details.Resultz.StatusDescription = "SUCCESS";
                    }
                    else if (ServiceCode.Equals("NSSF"))
                    {
                        queryResp.Details.Status.StatusCode          = "";
                        queryResp.Details.Status.Description         = "";
                        queryResp.Details.Resultz.Area               = levelOneResp.ResponseField10;
                        queryResp.Details.Resultz.CustomerName       = levelOneResp.ResponseField2;
                        queryResp.Details.Resultz.CustomerReference  = levelOneResp.ResponseField1;
                        queryResp.Details.Resultz.CustomerType       = levelOneResp.ResponseField5;
                        queryResp.Details.Resultz.OutstandingBalance = levelOneResp.ResponseField4;
                        queryResp.Details.Resultz.Tin = levelOneResp.ResponseField9;
                        queryResp.Details.Resultz.RegistrationDate  = "";
                        queryResp.Details.Resultz.ExpiryDate        = levelOneResp.ResponseField3;
                        queryResp.Details.Status.StatusCode         = "200";
                        queryResp.Details.Status.Description        = "Successful";
                        queryResp.Details.Resultz.StatusCode        = "0";
                        queryResp.Details.Resultz.StatusDescription = "SUCCESS";
                    }
                    else if (ServiceCode.Equals("DSTV") || ServiceCode.Equals("GOTV"))
                    {
                        queryResp = ReturnDSTVResponse(levelOneResp, requestData, ServiceCode);
                    }
                    else
                    {
                        queryResp.Details.Status.StatusCode          = "";
                        queryResp.Details.Status.Description         = "";
                        queryResp.Details.Resultz.Area               = levelOneResp.ResponseField3;
                        queryResp.Details.Resultz.CustomerName       = levelOneResp.ResponseField2;
                        queryResp.Details.Resultz.CustomerReference  = levelOneResp.ResponseField1;
                        queryResp.Details.Resultz.CustomerType       = levelOneResp.ResponseField5;
                        queryResp.Details.Resultz.OutstandingBalance = levelOneResp.ResponseField4;
                        queryResp.Details.Resultz.Tin               = levelOneResp.ResponseField3;
                        queryResp.Details.Status.StatusCode         = "200";
                        queryResp.Details.Status.Description        = "Successful";
                        queryResp.Details.Resultz.StatusCode        = "0";
                        queryResp.Details.Resultz.StatusDescription = "SUCCESS";
                    }
                }
                else
                {
                    if (ServiceCode.Equals("NSSF"))
                    {
                        if (levelOneResp.ResponseField7.ToUpper().Contains("EXPIRED"))
                        {
                            levelOneResp.ResponseField7 = "TRANSACTION NUMBER EXPIRED";
                        }
                        else if (levelOneResp.ResponseField7.ToUpper().Contains("DELETED"))
                        {
                            levelOneResp.ResponseField7 = "TRANSACTION NUMBER DELETED";
                        }
                        else if (levelOneResp.ResponseField7.ToUpper().Contains("EXISTS"))
                        {
                            levelOneResp.ResponseField7 = "NO TRANSACTION NUMBER";
                        }
                        else if (levelOneResp.ResponseField7.ToUpper().Contains("NUMBER PAID"))
                        {
                            levelOneResp.ResponseField7 = "TRANSACTION NUMBER ALREADY PAID";
                        }
                        queryResp.Details.Status.StatusCode         = "200";
                        queryResp.Details.Status.Description        = "Successful";
                        queryResp.Details.Resultz.StatusCode        = "100";
                        queryResp.Details.Resultz.StatusDescription = levelOneResp.ResponseField7;
                    }
                    else
                    {
                        queryResp.Details.Status.StatusCode         = "200";
                        queryResp.Details.Status.Description        = "Successful";
                        queryResp.Details.Resultz.StatusCode        = "100";
                        queryResp.Details.Resultz.StatusDescription = levelOneResp.ResponseField7;
                    }
                }
            }
            else
            {
                queryResp.Details.Status.StatusCode         = "200";
                queryResp.Details.Status.Description        = "Successful";
                queryResp.Details.Resultz.StatusCode        = "100";
                queryResp.Details.Resultz.StatusDescription = "INVALID MERCHANT ID";
            }

            return(queryResp);
        }
        catch (Exception e)
        {
            throw e;
        }
    }