public Response Submit(string address, string jsonData)
        {
            string payload;

            try
            {
                payload = JsonConvert.SerializeObject(new RequestPayload()
                {
                    APIAction     = "RETSUBMIT",
                    EncryptedData = CipherHandler.EncryptTextWithSessionKey(jsonData, UserRequest.Keys),
                    HAMCData      = CipherHandler.Hmac(jsonData, UserRequest.Keys)
                });
            }
            catch (Exception)
            {
                return(ErrorResponse("GSP141", "Error encrypting payload"));
            }
            return(Post(address, "RETSUBMIT", payload));
        }
        public Response File(string address, string jsonData, string version, string returnType, string signatureId, string signature = "")
        {
            string payload;
            var    signatureType = string.IsNullOrEmpty(signature) ? "DSC" : "EVC";

            try
            {
                payload = JsonConvert.SerializeObject(new RequestPayloadForFiling()
                {
                    APIAction     = "RETFILE",
                    EncryptedData = CipherHandler.EncryptTextWithSessionKey(jsonData, UserRequest.Keys),
                    Signature     = signature,
                    SignatureId   = signatureId,
                    SignatureType = signatureType,
                    HeaderJson    = DefaultHeaderJson(version, returnType)
                });
            }
            catch (Exception)
            {
                return(ErrorResponse("GSP141", "Error encrypting payload"));
            }
            return(Put(address, "RETFILE", payload));
        }