public override bool IsValidRequest()
    {
        BussinessLogic bll      = new BussinessLogic();
        string         SourceIp = getIp();

        if (string.IsNullOrEmpty(this.payload.MerchantID))
        {
            PegPayStatusCode        = "111";
            PegPayStatusDescription = "PLEASE SUPPLY A MERCHANT ID";
            return(false);
        }
        //else if (!SourceIp.Equals("196.8.208.117"))
        //{
        //    this.PegPayStatusCode = "111";
        //    this.PegPayStatusDescription = "REQUEST HAS BEEN REJECTED";
        //    return false;
        //}
        else if (string.IsNullOrEmpty(this.payload.Amount))
        {
            PegPayStatusCode        = "109";
            PegPayStatusDescription = "PLEASE SUPPLY A VALID TRANSACTION AMOUNT";
            return(false);
        }
        else if (string.IsNullOrEmpty(this.payload.BeneficiaryID))
        {
            PegPayStatusCode        = "101";
            PegPayStatusDescription = "PLEASE SUPPLY A VALID BENEFICIARY ID";
            return(false);
        }
        else if (string.IsNullOrEmpty(this.payload.BeneficiaryName))
        {
            PegPayStatusCode        = "101";
            PegPayStatusDescription = "PLEASE SUPPLY A VALID BENEFICIARY NAME";
            return(false);
        }
        else if (string.IsNullOrEmpty(this.payload.Currency))
        {
            PegPayStatusCode        = "102";
            PegPayStatusDescription = "PLEASE SUPPLY A CURRENCY e.g UGX";
            return(false);
        }
        else if (string.IsNullOrEmpty(this.payload.MSISDN))
        {
            PegPayStatusCode        = "108";
            PegPayStatusDescription = "PLEASE SUPPLY A VALID MSISDN e.g 256etc";
            return(false);
        }
        else if (string.IsNullOrEmpty(this.payload.Narration))
        {
            PegPayStatusCode        = "101";
            PegPayStatusDescription = "PLEASE SUPPLY A NARRATION";
            return(false);
        }
        else if (string.IsNullOrEmpty(this.payload.ReferenceID))
        {
            PegPayStatusCode        = "101";
            PegPayStatusDescription = "PLEASE SUPPLY A VALID REFERENCE ID";
            return(false);
        }
        else if (string.IsNullOrEmpty(this.payload.ReferenceID))
        {
            PegPayStatusCode        = "101";
            PegPayStatusDescription = "PLEASE SUPPLY A VALID REFERENCE ID";
            return(false);
        }
        else if (bll.IsDuplicateVendorRef(this.payload.ReferenceID))
        {
            PegPayStatusCode        = "110";
            PegPayStatusDescription = "FAILED: DUPLICATE REFERENCE ID";
            return(false);
        }
        else if (!IsValidMerchantID(this.payload.MerchantID))
        {
            PegPayStatusCode        = "111";
            PegPayStatusDescription = "INVALID MERCHANT ID";
            return(false);
        }

        else
        {
            PegPayStatusCode        = "0";
            PegPayStatusDescription = "SUCCESS";
            return(true);
        }
    }