Exemplo n.º 1
0
        public string GetMerchantChargeXmlResponse(MerchantChargeResponse apiCResp)
        {
            string xml = "";

            if (apiCResp.StatusCode.Equals("0"))
            {
                // string TransactionID = DateTime.Now.ToString(DateTime.Now.Year + DateTime.Now.Month + DateTime.Now.Day + DateTime.Now.Hour + DateTime.Now.Minute + DateTime.Now.Second + DateTime.Now.Millisecond + DateTime.Now.Ticks + "");
                xml = "<? xml version = \"1.0\" encoding =\"UTF-8\" ?>" +
                      "<GetChargeResponse>" +
                      "<MerchantCode>" + apiCResp.MerchantId + "</MerchantCode>" +
                      "<Amount>" + apiCResp.OriginalTransactionAmount + "</Amount>" +
                      "<Charge>" + apiCResp.CalculatedChargeAmount + "</Charge>" +
                      "<ChargeCode>" + apiCResp.ChargeCode + "</ChargeCode>" +
                      "<StatusCode>" + apiCResp.StatusCode + "</StatusCode>" +
                      "<StatusDescription>" + apiCResp.StatusDesc + "</StatusDescription>" +
                      "</GetChargeResponse>";
            }
            else
            {
                xml = "<? xml version = \"1.0\" encoding =\"UTF-8\" ?>" +
                      "<GetChargeResponse>" +
                      "<MerchantCode></MerchantCode>" +
                      "<Amount></Amount>" +
                      "<Charge></Charge>" +
                      "<ChargeCode></ChargeCode>" +
                      "<StatusCode>" + apiCResp.StatusCode + "</StatusCode>" +
                      "<StatusDescription>" + apiCResp.StatusDesc + "</StatusDescription>" +
                      "</GetChargeResponse>";
            }
            return(xml);
        }
Exemplo n.º 2
0
        public string GetMerchantChargeDetailsApi(Request vmRequest)
        {
            ListenerResponse       resp       = new ListenerResponse();
            MerchantChargeResponse chargeResp = new MerchantChargeResponse();
            string xmlResponse = "";

            resp = GetVendorCredentials(vmRequest.Username, vmRequest.Password);
            if (resp.StatusCode.Equals("0") && resp.StatusDescription.Equals("ValidVendor"))
            {
                if (IsValidDigitalSignature(vmRequest))
                {
                    mapiRequest.ReferenceId  = vmRequest.MerchantCode;
                    mapiRequest.MerchantId   = vmRequest.MerchantCode;
                    mapiRequest.RequestAgent = "1";
                    mapiRequest.ApiUsername  = apiUsername;
                    mapiRequest.ApiPassword  = apiPassword;
                    mapiRequest.Channel      = vmRequest.Channel;
                    apiResp = mapi.GetMerchantDetails(mapiRequest);
                    if (apiResp.Status.Equals("0"))
                    {
                        mapiRequest.Amount      = vmRequest.Amount;
                        mapiRequest.ReferenceId = apiResp.Customer.AccountNumber;
                        chargeResp = mapi.GetCharges(mapiRequest);
                        if (chargeResp.StatusCode.Equals("0"))
                        {
                            xmlResponse = GetMerchantChargeXmlResponse(chargeResp);
                        }
                        else
                        {
                            apiResp.Status            = chargeResp.StatusCode;
                            apiResp.StatusDescription = chargeResp.StatusDesc;
                            xmlResponse = GetMerchantChargeXmlResponse(chargeResp);
                        }
                    }
                    else
                    {
                        chargeResp.Status     = apiResp.Status;
                        chargeResp.StatusDesc = apiResp.StatusDescription;
                        xmlResponse           = GetMerchantChargeXmlResponse(chargeResp);
                    }
                }
                else
                {
                    chargeResp.Status     = "30";
                    chargeResp.StatusDesc = "Invalid Digital Signature";
                    xmlResponse           = GetMerchantChargeXmlResponse(chargeResp);
                }
            }
            else
            {
                chargeResp.Status     = "100";
                chargeResp.StatusDesc = "Invalid Vendor Credentials";
                xmlResponse           = GetMerchantChargeXmlResponse(chargeResp);
            }

            return(xmlResponse);
        }
Exemplo n.º 3
0
        public string GetMerchantTransactionDetailsApi(Request vmRequest)
        {
            ListenerResponse       resp       = new ListenerResponse();
            MerchantChargeResponse chargeResp = new MerchantChargeResponse();
            string xmlResponse = "";

            resp = GetVendorCredentials(vmRequest.Username, vmRequest.Password);
            if (resp.StatusCode.Equals("0") && resp.StatusDescription.Equals("ValidVendor"))
            {
                if (IsValidDigitalSignature(vmRequest))
                {
                    mapiRequest.ReferenceId  = vmRequest.TransactionId;
                    mapiRequest.MerchantId   = vmRequest.MerchantCode;
                    mapiRequest.RequestAgent = "1";
                    mapiRequest.ApiUsername  = apiUsername;
                    mapiRequest.ApiPassword  = apiPassword;
                    mapiRequest.Channel      = vmRequest.Channel;
                    mtran = mapi.GetTransactionDetails(mapiRequest);
                    if (!string.IsNullOrEmpty(mtran.Status.ToString()))
                    {
                        if (!(string.IsNullOrEmpty(mtran.Status.ToString())))
                        {
                            xmlResponse = GetMerchantTranStatusXmlResponse(mtran);
                        }
                        else
                        {
                            mtran.Status            = "201";
                            mtran.StatusDescription = "Transaction Not Found";
                            xmlResponse             = GetMerchantTranStatusXmlResponse(mtran);
                        }
                    }
                    else
                    {
                        mtran.Status            = mtran.Status;
                        mtran.StatusDescription = mtran.StatusDescription;
                        xmlResponse             = GetMerchantTranStatusXmlResponse(mtran);
                    }
                }
                else
                {
                    apiResp.Status            = "30";
                    apiResp.StatusDescription = "Invalid Digital Signature";
                    xmlResponse = GetMerchantPaymentXmlResponse(apiResp);
                }
            }
            else
            {
                apiResp.Status            = "100";
                apiResp.StatusDescription = "Invalid Vendor Credentials";
                xmlResponse = GetMerchantPaymentXmlResponse(apiResp);
            }
            return(xmlResponse);
        }
Exemplo n.º 4
0
        public string GetMerchantTranStatusApi(Request vmRequest)
        {
            ListenerResponse       resp       = new ListenerResponse();
            MerchantChargeResponse chargeResp = new MerchantChargeResponse();

            string xmlResponse = "";

            mapiRequest.ReferenceId  = vmRequest.RequestId;
            mapiRequest.MerchantId   = vmRequest.MerchantCode;
            mapiRequest.RequestAgent = "1";
            mapiRequest.ApiUsername  = apiUsername;
            mapiRequest.ApiPassword  = apiPassword;
            mapiRequest.Channel      = vmRequest.Channel;
            apiResp = mapi.GetMerchantDetails(mapiRequest);
            if (apiResp.Status.Equals("0"))
            {
                mapiRequest.Amount      = vmRequest.Amount;
                mapiRequest.ReferenceId = apiResp.Customer.AccountNumber;
                chargeResp = mapi.GetCharges(mapiRequest);
                if (chargeResp.StatusCode.Equals("0"))
                {
                    xmlResponse = GetMerchantChargeXmlResponse(chargeResp);
                }
                else
                {
                    apiResp.Status            = chargeResp.StatusCode;
                    apiResp.StatusDescription = chargeResp.StatusDesc;
                    xmlResponse = GetMerchantChargeXmlResponse(chargeResp);
                }
            }
            else
            {
                chargeResp.Status     = apiResp.Status;
                chargeResp.StatusDesc = apiResp.StatusDescription;
                xmlResponse           = GetMerchantChargeXmlResponse(chargeResp);
            }

            return(xmlResponse);
        }
Exemplo n.º 5
0
        public string GetMerchantPaymentDetailsApi(Request vmRequest)
        {
            ListenerResponse resp        = new ListenerResponse();
            string           xmlResponse = "";

            resp = GetVendorCredentials(vmRequest.Username, vmRequest.Password);
            if (resp.StatusCode.Equals("0") && resp.StatusDescription.Equals("ValidVendor"))
            {
                if (IsValidDigitalSignature(vmRequest))
                {
                    mapiRequest.ReferenceId  = vmRequest.MerchantCode;
                    mapiRequest.MerchantId   = vmRequest.MerchantCode;
                    mapiRequest.RequestAgent = vmRequest.CustomerTel;
                    mapiRequest.ApiUsername  = apiUsername;
                    mapiRequest.ApiPassword  = apiPassword;
                    mapiRequest.Channel      = vmRequest.Channel;
                    apiResp = mapi.GetMerchantDetails(mapiRequest);
                    if (apiResp.Status.Equals("0"))
                    {
                        mapiRequest.Amount      = vmRequest.Amount;
                        mapiRequest.ReferenceId = apiResp.Customer.AccountNumber;
                        MerchantChargeResponse chargeResp = mapi.GetCharges(mapiRequest);
                        if (chargeResp.StatusCode.Equals("0"))
                        {
                            mtran.DigitalSignature = "1234";
                            mtran.ApiUsername      = apiUsername;
                            mtran.ApiPassword      = apiPassword;
                            mtran.Channel          = vmRequest.Channel;
                            mtran.CustTel          = vmRequest.CustomerTel;//bll.DecryptPhone(phone);
                            mtran.AccountTo        = apiResp.Customer.AccountNumber;
                            mtran.AccountFrom      = vmRequest.CustomerTel;
                            mtran.Amount           = vmRequest.Amount;
                            mtran.TranType         = "TOPUP";
                            mtran.PaymentType      = "MTN MOBILE MONEY";
                            mtran.PaymentDate      = DateTime.Now.ToString("dd/MM/yyyy");
                            mtran.TranId           = vmRequest.RequestId;
                            mtran.MerchantId       = vmRequest.MerchantCode;
                            mtran.CustRef          = vmRequest.CustomerRef;
                            mtran.CustName         = vmRequest.MerchantCode;
                            mtran.CreatedBy        = "108633";
                            mtran.CustomerType     = "PUBLIC";
                            mtran.Utility          = "";
                            mtran.Area             = vmRequest.MerchantCode;
                            mtran.Field1           = "";
                            mtran.Narration        = vmRequest.Narration;
                            mtran.Charge           = chargeResp.CalculatedChargeAmount;
                            payResp           = mapi.MakePegPayTopUp(mtran);
                            payResp.RequestId = vmRequest.RequestId;
                            xmlResponse       = GetMerchantPaymentXmlResponse(payResp);
                        }
                        else
                        {
                            apiResp.Status            = chargeResp.StatusCode;
                            apiResp.StatusDescription = chargeResp.StatusDesc;
                            xmlResponse = GetMerchantPaymentXmlResponse(apiResp);
                        }
                    }
                    else
                    {
                        apiResp.Status            = apiResp.Status;
                        apiResp.StatusDescription = apiResp.StatusDescription;
                        xmlResponse = GetMerchantPaymentXmlResponse(apiResp);
                    }
                }
                else
                {
                    apiResp.Status            = "30";
                    apiResp.StatusDescription = "Invalid Digital Signature";
                    xmlResponse = GetMerchantPaymentXmlResponse(apiResp);
                }
            }
            else
            {
                apiResp.Status            = "100";
                apiResp.StatusDescription = "Invalid Vendor Credentials";
                xmlResponse = GetMerchantPaymentXmlResponse(apiResp);
            }


            return(xmlResponse);
        }