public CyberPlatHttpClient(ICyberPlatSignatureManager manager, CyberPlatHttpClientConfiguration configuration, HttpMessageHandler handler = null)
        {
            if (manager == null)
            {
                throw new ArgumentNullException(nameof(manager));
            }
            m_Manager = manager;

            CheckUrl  = validateUrl(configuration.CheckUrl);
            PayUrl    = validateUrl(configuration.PayUrl);
            StatusUrl = validateUrl(configuration.StatusUrl);

            m_HttpClient         = handler != null ? new HttpClient(handler) : new HttpClient();
            m_HttpClient.Timeout = TimeSpan.FromSeconds(configuration.TimeoutSec);
        }