public async Task Vakifbank_GetPaymentParameterResult_Success()
        {
            string successResponseXml = @"<IPaySecure>
                                            <Message>
                                                <VERes>
                                                    <Status>Y</Status>
                                                    <PaReq>DFHDFSDFJD436746732423TJ4354GDFDFH</PaReq>
                                                    <TermUrl>https://example.org</TermUrl>
                                                    <MD>DFHDFSDFJD436746732423TJ4354GDFDFH</MD>
                                                    <ACSUrl>https://example.org</ACSUrl>
                                                </VERes>
                                            </Message>
                                            <MessageErrorCode></MessageErrorCode>
                                            <ErrorMessage></ErrorMessage>
                                          </IPaySecure>";

            Mock <IHttpClientFactory> httpClientFactory = new Mock <IHttpClientFactory>();
            FakeResponseHandler       messageHandler    = new FakeResponseHandler();

            messageHandler.AddFakeResponse(new HttpResponseMessage(HttpStatusCode.OK), successResponseXml, true);

            HttpClient httpClient = new HttpClient(messageHandler, false);

            httpClientFactory.Setup(_ => _.CreateClient(It.IsAny <string>())).Returns(httpClient);

            IPaymentProvider provider = new VakifbankPaymentProvider(httpClientFactory.Object);
            var paymentGatewayResult  = await provider.ThreeDGatewayRequest(new PaymentGatewayRequest
            {
                CardHolderName    = "Sefa Can",
                CardNumber        = "4508-0345-0803-4509",
                ExpireMonth       = 12,
                ExpireYear        = 21,
                CvvCode           = "000",
                CardType          = "1",
                Installment       = 1,
                TotalAmount       = 1.60m,
                CustomerIpAddress = "127.0.0.1",
                CurrencyIsoCode   = "949",
                LanguageIsoCode   = "tr",
                OrderNumber       = Guid.NewGuid().ToString(),
                BankName          = BankNames.VakifBank,
                BankParameters    = provider.TestParameters,
                CallbackUrl       = new Uri("https://google.com")
            });

            Assert.True(paymentGatewayResult.Success);
        }
        public async Task Yapikredi_GetPaymentParameterResult_Success()
        {
            string successResponseXml = @"<posnetResponse>
                                            <approved>1</approved>
                                            <respText>successed</respText>
                                            <oosRequestDataResponse>
                                                  <data1>345345FDGSFSDF</data1>  
                                                  <data2>345345FDGSFSDF</data2>  
                                                  <sign>345345FDGSFSDF</sign>  
                                            </oosRequestDataResponse>
                                          </posnetResponse>";

            Mock <IHttpClientFactory> httpClientFactory = new Mock <IHttpClientFactory>();
            FakeResponseHandler       messageHandler    = new FakeResponseHandler();

            messageHandler.AddFakeResponse(new HttpResponseMessage(HttpStatusCode.OK), successResponseXml, true);

            HttpClient httpClient = new HttpClient(messageHandler, false);

            httpClientFactory.Setup(_ => _.CreateClient(It.IsAny <string>())).Returns(httpClient);

            IPaymentProvider provider = new PosnetPaymentProvider(httpClientFactory.Object);
            var paymentGatewayResult  = await provider.ThreeDGatewayRequest(new PaymentGatewayRequest
            {
                CardHolderName    = "Sefa Can",
                CardNumber        = "4508-0345-0803-4509",
                ExpireMonth       = 12,
                ExpireYear        = 21,
                CvvCode           = "000",
                CardType          = "1",
                Installment       = 1,
                TotalAmount       = 1.60m,
                CustomerIpAddress = "127.0.0.1",
                CurrencyIsoCode   = "949",
                LanguageIsoCode   = "tr",
                OrderNumber       = Guid.NewGuid().ToString(),
                BankName          = BankNames.IsBankasi,
                BankParameters    = provider.TestParameters,
                CallbackUrl       = new Uri("https://google.com")
            });

            Assert.True(paymentGatewayResult.Success);
        }