Exemple #1
0
        public TransacaoLoja CreateNewTransaction(TransactionRequestDTO req)
        {
            var bandeira = GetBandeira(req.creditCard.bandeira);

            var config = configuracaoLojaRepository.GetConfiguracaoLoja(req.loja, bandeira);

            if (config == null)
            {
                throw new Exception("Loja não possui configuração");
            }

            var gatewayBll = new GatewayBLL();

            if (config.flUseAntiFraude)
            {
                var validateFraude = gatewayBll.AntiFraudeMock();

                if (validateFraude)
                {
                    var tran = SetTransactionByGateway(config.gateway, req);
                    return(tran);
                }
                else
                {
                    return(null);
                }
            }
            else
            {
                var tran = SetTransactionByGateway(config.gateway, req);

                return(tran);
            }
        }
Exemple #2
0
        private TransacaoLoja SetTransactionByGateway(GatewayPgtos gateway, TransactionRequestDTO req)
        {
            var gatewayBll = new GatewayBLL();

            if (gateway.nomeGateway == "Cielo")
            {
                return(CretaCieloTransaction(gateway, req, gatewayBll));
            }
            else
            {
                return(CreateStoneTransaction(gateway, req, gatewayBll));
            }
        }
Exemple #3
0
        private TransacaoLoja CreateStoneTransaction(GatewayPgtos gateway, TransactionRequestDTO req, GatewayBLL gatewayBll)
        {
            var data = gatewayBll.StoneMock(new GatewayApiClient.DataContracts.CreditCard()
            {
                CreditCardNumber = req.creditCard.numeroCartao,
                ExpYear          = Convert.ToInt32(req.creditCard.dataExpiracao),
                ExpMonth         = Convert.ToInt32(req.creditCard.nomePropietario),
                SecurityCode     = req.creditCard.codigoSeguranca
            });


            var transaction = new TransacaoLoja()
            {
                loja   = req.loja,
                status = data != null ? true : false,
                valor  = req.valor
            };

            transactionRepository.CreateNewTransaction(transaction);

            return(transaction);
        }
Exemple #4
0
        private TransacaoLoja CretaCieloTransaction(GatewayPgtos gateway, TransactionRequestDTO req, GatewayBLL gatewayBll)
        {
            var data = gatewayBll.CieloMock(new CreditCard()
            {
                Brand          = req.creditCard.bandeira,
                CardNumber     = req.creditCard.numeroCartao,
                ExpirationDate = req.creditCard.dataExpiracao,
                Holder         = req.creditCard.nomePropietario,
                SecurityCode   = req.creditCard.codigoSeguranca
            });

            var transaction = new TransacaoLoja()
            {
                loja   = req.loja,
                status = data != null ? true : false,
                valor  = req.valor
            };

            transactionRepository.CreateNewTransaction(transaction);

            return(transaction);
        }