/// <summary>
        /// Install plugin
        /// </summary>
        /// <returns>boolean status</returns>
        public bool Install(APIContext APIContext, String ApiKey, String ApiBaseUrl)
        {
            // Validate
            ArgumentValidator.ValidateAndSetupAPIContext(APIContext);
            ArgumentValidator.Validate(ApiKey, "apiKey");
            ArgumentValidator.Validate(ApiBaseUrl, "apiBaseUrl");

            // Configure and send the request
            var resourcePath = "v2/plugin/merchant";
            var model = new RegisterPluginRequest() { apiBaseUrl = ApiBaseUrl, apiKey = ApiKey, pluginVersion = "v2" };

            var responceCode = ExpresslyClient.ConfigureAndExecute(APIContext, ExpresslyClient.HttpMethod.POST, resourcePath, model.ConvertToJson());
            return responceCode != null && responceCode.ToString() == "204";
        }
        /// <summary>
        /// Install plugin
        /// </summary>
        /// <returns>boolean status</returns>
        public bool Install(APIContext APIContext, String ApiKey, String ApiBaseUrl)
        {
            // Validate
            ArgumentValidator.ValidateAndSetupAPIContext(APIContext);
            ArgumentValidator.Validate(ApiKey, "apiKey");
            ArgumentValidator.Validate(ApiBaseUrl, "apiBaseUrl");

            // Configure and send the request
            var resourcePath = "v2/plugin/merchant";
            var model        = new RegisterPluginRequest()
            {
                apiBaseUrl = ApiBaseUrl, apiKey = ApiKey, pluginVersion = "v2"
            };

            var responceCode = ExpresslyClient.ConfigureAndExecute(APIContext, ExpresslyClient.HttpMethod.POST, resourcePath, model.ConvertToJson());

            return(responceCode != null && responceCode.ToString() == "204");
        }