public void PaymentProviderFactory_CreatePosNetPaymentProvider()
        {
            ServiceCollection serviceCollection = new ServiceCollection();

            serviceCollection.AddHttpClient();

            ServiceProvider        serviceProvider        = serviceCollection.BuildServiceProvider();
            PaymentProviderFactory paymentProviderFactory = new PaymentProviderFactory(serviceProvider);

            IPaymentProvider provider = paymentProviderFactory.Create(BankNames.Yapikredi);

            Assert.IsType <PosnetPaymentProvider>(provider);

            provider = paymentProviderFactory.Create(BankNames.Albaraka);
            Assert.IsType <PosnetPaymentProvider>(provider);
        }
        public async Task Asseco_GetPaymentParameterResult_Success()
        {
            var serviceCollection = new ServiceCollection();

            serviceCollection.AddHttpClient();

            var serviceProvider        = serviceCollection.BuildServiceProvider();
            var paymentProviderFactory = new PaymentProviderFactory(serviceProvider);

            var provider             = paymentProviderFactory.Create(BankNames.IsBankasi);
            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 = IPAddress.Parse("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);
        }
示例#3
0
        private bool TakePayment(OrderCommand order, decimal price)
        {
            var paymentProvider = paymentProviders.Create(order.PaymentTypeId);

            return(paymentProvider
                   .Map(provider => paymentGateway.Pay(provider, 1234, price))
                   .IfNone(false));
        }
示例#4
0
        public void PaymentProviderFactory_CreateAssecoPaymentProvider()
        {
            ServiceCollection      serviceCollection      = new ServiceCollection();
            ServiceProvider        serviceProvider        = serviceCollection.BuildServiceProvider();
            PaymentProviderFactory paymentProviderFactory = new PaymentProviderFactory(serviceProvider);
            IPaymentProvider       provider = paymentProviderFactory.Create(BankNames.DenizBank);

            Assert.IsType <DenizbankPaymentProvider>(provider);
        }
        public void PaymentProviderFactory_CreateAssecoPaymentProvider(int bankId)
        {
            ServiceCollection      serviceCollection      = new ServiceCollection();
            ServiceProvider        serviceProvider        = serviceCollection.BuildServiceProvider();
            PaymentProviderFactory paymentProviderFactory = new PaymentProviderFactory(serviceProvider);
            IPaymentProvider       provider = paymentProviderFactory.Create((BankNames)bankId);

            Assert.IsType <NestPayPaymentProvider>(provider);
        }
        public void PaymentProviderFactory_CreateGarantiPaymentProvider()
        {
            ServiceCollection      serviceCollection      = new ServiceCollection();
            ServiceProvider        serviceProvider        = serviceCollection.BuildServiceProvider();
            PaymentProviderFactory paymentProviderFactory = new PaymentProviderFactory(serviceProvider);
            IPaymentProvider       provider = paymentProviderFactory.Create(BankNames.Garanti);

            Assert.IsType <GarantiPaymentProvider>(provider);
        }
        public async Task Garanti_GetPaymentParameterResult_UnSuccess()
        {
            ServiceCollection      serviceCollection      = new ServiceCollection();
            ServiceProvider        serviceProvider        = serviceCollection.BuildServiceProvider();
            PaymentProviderFactory paymentProviderFactory = new PaymentProviderFactory(serviceProvider);

            IPaymentProvider provider = paymentProviderFactory.Create(BankNames.Garanti);
            var paymentGatewayResult  = await provider.ThreeDGatewayRequest(null);

            Assert.False(paymentGatewayResult.Success);
        }
        public void PaymentProviderFactory_CreateAssecoPaymentProvider(int bankId)
        {
            var serviceCollection = new ServiceCollection();

            serviceCollection.AddHttpClient();

            var serviceProvider        = serviceCollection.BuildServiceProvider();
            var paymentProviderFactory = new PaymentProviderFactory(serviceProvider);
            var provider = paymentProviderFactory.Create((BankNames)bankId);

            Assert.IsType <NestPayPaymentProvider>(provider);
        }
        public void PaymentProviderFactory_CreateProvider_ByBank(int bankId)
        {
            ServiceCollection serviceCollection = new ServiceCollection();

            serviceCollection.AddHttpClient();

            ServiceProvider        serviceProvider        = serviceCollection.BuildServiceProvider();
            PaymentProviderFactory paymentProviderFactory = new PaymentProviderFactory(serviceProvider);
            IPaymentProvider       provider = paymentProviderFactory.Create((BankNames)bankId);

            //NestPay
            int[] banks = new[] { 46, 64, 12, 10, 32, 99, 206, 135, 123, 59 };
            if (banks.Contains(bankId))
            {
                Assert.IsType <NestPayPaymentProvider>(provider);
            }

            //InterVPOS
            if (bankId == 134)
            {
                Assert.IsType <DenizbankPaymentProvider>(provider);
            }

            //PayFor
            if (bankId == 111)
            {
                Assert.IsType <FinansbankPaymentProvider>(provider);
            }

            //GVP
            if (bankId == 62)
            {
                Assert.IsType <GarantiPaymentProvider>(provider);
            }

            //KuveytTurk
            if (bankId == 205)
            {
                Assert.IsType <KuveytTurkPaymentProvider>(provider);
            }

            //GET 7/24
            if (bankId == 15)
            {
                Assert.IsType <VakifbankPaymentProvider>(provider);
            }

            //Posnet
            if (bankId == 67 || bankId == 203)
            {
                Assert.IsType <PosnetPaymentProvider>(provider);
            }
        }
示例#10
0
        public void PaymentProviderFactory_CreateAssecoPaymentProvider()
        {
            var serviceCollection = new ServiceCollection();

            serviceCollection.AddHttpClient();

            var serviceProvider        = serviceCollection.BuildServiceProvider();
            var paymentProviderFactory = new PaymentProviderFactory(serviceProvider);
            var provider = paymentProviderFactory.Create(BankNames.FinansBank);

            Assert.IsType <FinansbankPaymentProvider>(provider);
        }
        public void PaymentProviderFactory_CreateVakifbankPaymentProvider()
        {
            ServiceCollection serviceCollection = new ServiceCollection();

            serviceCollection.AddHttpClient();

            ServiceProvider        serviceProvider        = serviceCollection.BuildServiceProvider();
            PaymentProviderFactory paymentProviderFactory = new PaymentProviderFactory(serviceProvider);
            IPaymentProvider       provider = paymentProviderFactory.Create(BankNames.VakifBank);

            Assert.IsType <VakifbankPaymentProvider>(provider);
        }
示例#12
0
        public void PaymentProviderFactory_CreateYapikrediPaymentProvider(int bankId)
        {
            var serviceCollection = new ServiceCollection();

            serviceCollection.AddHttpClient();
            serviceCollection.AddSingleton <IHttpContextAccessor, HttpContextAccessor>();

            var serviceProvider        = serviceCollection.BuildServiceProvider();
            var paymentProviderFactory = new PaymentProviderFactory(serviceProvider);
            var provider = paymentProviderFactory.Create((Banks)bankId);

            Assert.IsType <YapikrediPaymentProvider>(provider);
        }
        public void PaymentProviderFactory_CreateGarantiPaymentProvider()
        {
            var serviceCollection = new ServiceCollection();

            serviceCollection.AddHttpClient();
            serviceCollection.AddHttpContextAccessor();

            var serviceProvider        = serviceCollection.BuildServiceProvider();
            var paymentProviderFactory = new PaymentProviderFactory(serviceProvider);
            var provider = paymentProviderFactory.Create(BankNames.Garanti);

            Assert.IsType <GarantiPaymentProvider>(provider);
        }
        public async Task Asseco_GetPaymentParameterResult_UnSuccess()
        {
            var serviceCollection = new ServiceCollection();

            serviceCollection.AddHttpClient();

            var serviceProvider        = serviceCollection.BuildServiceProvider();
            var paymentProviderFactory = new PaymentProviderFactory(serviceProvider);

            var provider             = paymentProviderFactory.Create(BankNames.IsBankasi);
            var paymentGatewayResult = await provider.ThreeDGatewayRequest(null);

            Assert.False(paymentGatewayResult.Success);
        }
示例#15
0
        public async Task Yapikredi_GetPaymentResult_UnSuccess()
        {
            var serviceCollection = new ServiceCollection();

            serviceCollection.AddHttpClient();
            serviceCollection.AddHttpContextAccessor();

            var serviceProvider        = serviceCollection.BuildServiceProvider();
            var paymentProviderFactory = new PaymentProviderFactory(serviceProvider);

            var provider             = paymentProviderFactory.Create(BankNames.Garanti);
            var paymentGatewayResult = await provider.ThreeDGatewayRequest(null);

            Assert.False(paymentGatewayResult.Success);
        }
示例#16
0
        public void PaymentProviderFactory_CreateProvider_ByBank(int bankId)
        {
            var serviceCollection = new ServiceCollection();

            serviceCollection.AddHttpClient();
            serviceCollection.AddSingleton <IHttpContextAccessor, HttpContextAccessor>();

            var serviceProvider        = serviceCollection.BuildServiceProvider();
            var paymentProviderFactory = new PaymentProviderFactory(serviceProvider);
            var provider = paymentProviderFactory.Create((BankNames)bankId);

            var banks = new[] { 0, 1, 2, 3, 4, 5, 6, 7, 8 };

            if (banks.Contains(bankId))
            {
                Assert.IsType <NestPayPaymentProvider>(provider);
            }

            if (bankId == 9)
            {
                Assert.IsType <DenizbankPaymentProvider>(provider);
            }

            if (bankId == 10)
            {
                Assert.IsType <FinansbankPaymentProvider>(provider);
            }

            if (bankId == 11)
            {
                Assert.IsType <GarantiPaymentProvider>(provider);
            }

            if (bankId == 12)
            {
                Assert.IsType <KuveytTurkPaymentProvider>(provider);
            }

            if (bankId == 13)
            {
                Assert.IsType <VakifbankPaymentProvider>(provider);
            }

            if (bankId == 14)
            {
                Assert.IsType <YapikrediPaymentProvider>(provider);
            }
        }