public async Task GetPaymentRequestAsync_ExpectedResult_VerifiesCall()
        {
            // Arrange
            var singlePaymentRequest = new SinglePaymentRequest()
            {
                PlatformToken       = "PlatformToken",
                UserToken           = "UserToken",
                PaymentRequestToken = "PaymentRequestToken"
            };
            var expectedResult = new SinglePaymentRequestResponse();
            var urlSuffix      = UrlProvider.GetPaymentUrlSuffix(singlePaymentRequest.PlatformToken, singlePaymentRequest.UserToken, singlePaymentRequest.PaymentRequestToken);

            _mockAuthorizedRequestsHandler
            .Setup(m => m.GetOrExceptionAsync <SinglePaymentRequestResponse>(urlSuffix))
            .ReturnsAsync(expectedResult)
            .Verifiable();
            var sut = CreateSut();

            // Act
            var result = await sut.GetPaymentRequestAsync(singlePaymentRequest);

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(expectedResult, result);
            _mockAuthorizedRequestsHandler
            .Verify(m => m.GetOrExceptionAsync <SinglePaymentRequestResponse>(urlSuffix), Times.Once);
        }
        /// <summary>
        /// Gets a Single Payment Request using HTTP GET.
        /// </summary>
        /// <param name="request">The SinglePaymentRequest object</param>
        /// <returns>The SinglePaymentRequestResponse object</returns>
        /// <exception cref="ArgumentNullException">If the SinglePaymentRequest object is null</exception>
        /// <exception cref="TikkieErrorResponseException">If the Tikkie API returns an error response.</exception>
        public async Task <SinglePaymentRequestResponse> GetPaymentRequestAsync(SinglePaymentRequest request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            return(await _authorizedRequestsHandler
                   .GetOrExceptionAsync <SinglePaymentRequestResponse>(UrlProvider.GetPaymentUrlSuffix(request.PlatformToken, request.UserToken, request.PaymentRequestToken)));
        }