Пример #1
0
        protected internal override void stageExecute(SalePostContext context)
        {
            SaleRepo.SaleBuilder builder = context.saleBuild();
            SalePostRequest      request = context.Request;
            AcceptorDetail       defaultAcceptorDetail = builder.Terminal.DefaultAcceptorDetail;
            AcceptorDetail       dynamicAcceptor;

            if (request.hasDynamicAcceptor())
            {
                // So we have dynamic acceptor details provided, try to use.
                dynamicAcceptor = _acceptorUtil.obtainExplicitAcceptor(builder.Terminal, request.getDynamicAcceptorName(), request.getDynamicAcceptorStreet(), request.getDynamicAcceptorCity(), request.getDynamicAcceptorState(), request.getDynamicAcceptorPostalCode(), request.getDynamicAcceptorCustomerServicePhone(), request.getDynamicAcceptorSubMerchantId(), defaultAcceptorDetail.CustomerServiceEmail);

                if (dynamicAcceptor != null)
                {
                    //Logger.info("Dynamic Acceptor associated: " + dynamicAcceptor);
                    builder.ExplictAcceptor = dynamicAcceptor;
                }
                else
                {
                    //Logger.warn("Ignoring supplied Dynamic Acceptor");
                }
            }
            else
            {
                //Logger.warn("No Dynamic Acceptor - doing nothing");
            }

            nextStg(context);
        }
Пример #2
0
        public void postSale(SalePostRequest postRequest, SalePostResponse postResponse)
        {
            SalePostContext context;

            context = new SalePostContextImpl(postRequest, postResponse);
            _postSalePipelineStart.execute(context);
        }
Пример #3
0
        public void CreateSalePostRequest()
        {
            var objeto = new SalePostRequest()
            {
                Codigo = 123, Valor = 123, DataCompra = DateTime.Now
            };

            Assert.NotNull(objeto);
        }
Пример #4
0
        public override void stageExecute(SalePostContext context)
        {
            SaleRepo.SaleBuilder saleBuilder;
            SalePostRequest      request = context.Request;

            saleBuilder = context.saleBuild();
            saleBuilder.setBID(request.getBID()).setMID(request.getTerminalMID()).setTID(request.getTerminalTID());
            nextStage(context);
        }
Пример #5
0
        public void PostSalesSucessTest()
        {
            SalePostRequest salePostRequest = new SalePostRequest()
            {
                Codigo = 10, DataCompra = DateTime.Now, Valor = 900
            };
            var resultado = saleService.PostSales(idsucess, salePostRequest);

            Assert.True(resultado.Sucess);
        }
        public override void stageExecute(SalePostContext context)
        {
            CardRepo_CardBuilder cardBuilder;
            SalePostRequest      request = context.Request;

            cardBuilder = context.saleBuild().cardBuilder();
            cardBuilder.setNumber(cardUtility.buildCardNumber(request.getCardNumber())).setIssueDate(cardUtility.buildCardDate(request.getCardDateIssue())).setExpiryDate(cardUtility.buildCardDate(request.getCardDateExpiry())).setAVSData(cardUtility.buildAVSData(request.getCardAddress(), request.getCardPostalCode())).setCVV(request.getCardCVV());
            nextStage(context);
            throw new NotImplementedException();
        }
Пример #7
0
        protected internal override void stageExecute(SalePostContext context)
        {
            SaleRepo.AuthenticationDataBuilder authDataBuilder;
            SalePostRequest request = context.Request;

            //if (request.getAuthenticationECIFlag()!= null)
            //{
            authDataBuilder = context.saleBuild().authenticationDataBuilder();

            authDataBuilder.setECIFlag(request.getAuthenticationECIFlag()).setXID(request.getAuthenticationXID()).setACSData(request.getAuthenticationACSData()).set3DsVersion(request.getAuthentication3DsVersion()).setDsTransId(request.getAuthenticationDsTransId());
            //}
            nextStg(context);
        }
Пример #8
0
        public override void stageExecute(SalePostContext context)
        {
            SaleRepo.SaleBuilder saleBuilder;
            SalePostRequest      request = context.Request;

            saleBuilder = context.saleBuild();
            saleBuilder.setGatewayRef(request.getGatewayReference()).setAuthType(request.getAuthType()).setCurrencyAmount(request.getAmount(), request.getCurrency()).setRecurrenceFlag(request.getRecurrenceFlag()).setExemptionIndicator(request.getExemptionIndicator());
            //Logger.info("Gateway Reference: " + request.GatewayReference);
            //Logger.info("Sale AuthType: " + request.AuthType + ", Recurrence: " + request.RecurrenceFlag);
            //Logger.info("Amount: " + request.Amount + " " + request.Currency.name());
            //Logger.info("Exemption Indicator: " + request.ExemptionIndicator);
            nextStage(context);
        }
Пример #9
0
        public override void stageExecute(SalePostContext context)
        {
            SaleRepo.SaleBuilder saleBuilder;
            SalePostRequest      request = context.Request;

            saleBuilder = context.saleBuild();
            if ((!string.ReferenceEquals(request.getRecipientSurname(), null)) || (request.getRecipientDOB() != null) || (!string.ReferenceEquals(request.getRecipientSurname(), null)) || (!string.ReferenceEquals(request.getDynamicAcceptorSubMerchantId(), null)))
            {
                SaleRepo.FundsRecipientBuilder recipBuilder = saleBuilder.fundsRecipientBuilder();

                recipBuilder.setSurname(request.getRecipientSurname()).setDoB(request.getRecipientDOB()).setPostalCode(request.getRecipientPostalCode()).setAccountNumber(request.getRecipientAccountNumber());
            }
            nextStage(context);
        }
Пример #10
0
        protected internal override void stageExecute(SalePostContext context)
        {
            SaleRepo.SaleBuilder builder = context.saleBuild();
            SalePostRequest      request = context.Request;
            string softDescriptor        = request.getSoftDescriptor();

            if (!string.ReferenceEquals(softDescriptor, null))
            {
                //Logger.info("Setting Soft Desciptor on Sale: " + softDescriptor);
                builder.SoftDescriptor = softDescriptor;
            }

            nextStg(context);
        }
Пример #11
0
        public IActionResult PostSale([FromBody] SalePostRequest request)
        {
            var id     = HttpContext.User.Claims.Where(x => x.Type.Equals("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name")).FirstOrDefault().Value;
            var result = _saleService.PostSales(id, request);

            if (result.Sucess)
            {
                return(new ObjectResult(result));
            }
            else
            {
                var resultError = new ObjectResult(result);
                resultError.StatusCode = result.Error.FirstOrDefault().Code;
                return(resultError);
            }
        }
Пример #12
0
        protected internal override void stageExecute(SalePostContext context)
        {
            SaleRepo.SaleBuilder saleBuilder = context.saleBuild();
            SalePostRequest      request     = context.Request;

            if (String.IsNullOrEmpty(request.getAuthMode().ToString()))
            {
                //Logger.info("Setting Sale auth mode to default:" + defaultAuthMode);
                //saleBuilder.AuthMode = DefaultAuthMode;
                saleBuilder.AuthMode = AuthMode.FINAL;
            }
            else
            {
                //Logger.info("Setting Sale auth mode to:" + request.AuthMode);
                saleBuilder.AuthMode = request.getAuthMode();
            }
            nextStg(context);
        }
Пример #13
0
        public SaleResponse PostSales(string id, SalePostRequest salePostRequest)
        {
            _logger.LogInformation("PostSales: Start");
            try
            {
                _logger.LogInformation("PostSales: buscar Id");
                var vendor = _salesRepository.GetVendorId(id);

                if (vendor.Sales == null)
                {
                    vendor.Sales = new List <Sale>();
                }
                var sale = _mapper.Map <Sale>(salePostRequest);
                _logger.LogInformation("PostSales: Efetua Calculo de Cashback");
                var cashback = this.CashBackCalc(sale.Valor);
                sale.CashBackPer   = cashback.Item1;
                sale.CashBackValor = cashback.Item2;
                sale._id           = ObjectId.GenerateNewId();
                sale.Status        = this.getStatus(vendor.CPF);
                vendor.Sales.Add(sale);
                _logger.LogInformation("PostSales: Grava Venda");
                _salesRepository.PutVendor(vendor);
                return(new SaleResponse(sale._id.ToString()));
            }
            catch (Exception ex)
            {
                _logger.LogInformation("PostSales:error - {0}", ex);
                return(new SaleResponse()
                {
                    Sucess = false, Error = new List <Error>()
                    {
                        new Error()
                        {
                            Code = 500, Descricao = "Ocorreu um erro interno favor tentar novamente mais tarde"
                        }
                    }
                });
            }
        }
 public SalePostContextImpl(SalePostRequest request, SalePostResponse response)
 {
     this.request  = request;
     this.response = response;
 }