/// <summary>
        /// Get Hosted Onboarding Page URL
        /// </summary>
        /// <param name="request">Request for Hosted Onboarding Page URL </param>
        /// <param name="requestOptions">Request options</param>
        /// <returns>Hosted Onboarding Page URL</returns>
        public GetOnboardingUrlResponse GetOnboardingUrl(GetOnboardingUrlRequest request,
                                                         RequestOptions requestOptions = null)
        {
            var jsonRequest  = Util.JsonOperation.SerializeRequest(request);
            var jsonResponse = _getOnboardingUrl.Request(jsonRequest, requestOptions);

            return(Util.JsonOperation.Deserialize <GetOnboardingUrlResponse>(jsonResponse));
        }
        /// <summary>
        /// Get Hosted Onboarding Page URL async
        /// </summary>
        /// <param name="request">Request for Hosted Onboarding Page URL </param>
        /// <param name="requestOptions">Request options</param>
        /// <returns>Hosted Onboarding Page URL</returns>
        public async Task <GetOnboardingUrlResponse> GetOnboardingUrlAsync(GetOnboardingUrlRequest request,
                                                                           RequestOptions requestOptions = null)
        {
            var jsonRequest  = Util.JsonOperation.SerializeRequest(request);
            var jsonResponse = await _getOnboardingUrl.RequestAsync(jsonRequest, requestOptions);

            return(Util.JsonOperation.Deserialize <GetOnboardingUrlResponse>(jsonResponse));
        }
        public async Task TestGetOnboardingUrlSuccessAsync()
        {
            var client =
                CreateAsyncMockTestClientApiKeyBasedRequest(
                    "Mocks/hop/get-onboarding-url-success-async.json");
            var hop = new HostedOnboardingPages(client);
            var getOnboardingUrlRequest = new GetOnboardingUrlRequest();
            var redirectResponse        = await hop.GetOnboardingUrlAsync(getOnboardingUrlRequest, new RequestOptions());

            Assert.AreEqual("https://test.adyen.com/hop", redirectResponse.RedirectUrl);
            Assert.AreEqual("1234567890123456", redirectResponse.PspReference);
            Assert.AreEqual("success", redirectResponse.ResultCode);
            Assert.AreEqual(true, redirectResponse.SubmittedAsync);
        }