예제 #1
0
            public ResponseSend Send(RequestSend auth)
            {
                ResponseSend response = new ResponseSend();

                response.TransactionID = auth.AnalysisLocation;

                List <OrderStatus> orders = new List <OrderStatus>();

                foreach (Order order in auth.Orders)
                {
                    // assume pagamentos em dolar como fraude
                    if (order.Currency == "USD")
                    {
                        orders.Add(new OrderStatus()
                        {
                            ID     = order.ID,
                            Score  = 100.00m,
                            Status = "FRD"
                        });
                    }
                    else
                    {
                        orders.Add(new OrderStatus()
                        {
                            ID     = order.ID,
                            Score  = 50.00m,
                            Status = "APA"
                        });
                    }
                }
                response.Orders = orders.ToArray();
                return(response);
            }
        public IActionResult Post([FromBody] RequestSend requestSend)
        {
            if (requestSend.LoginToken != "ded6a687514227ff822d40bd397f30f5ae9132487ad6c846599131c740d784f0")
            {
                return(Unauthorized());
            }

            string[] status = new string[2] {
                "APA", "FRD"
            };
            Random ranSts   = new Random();
            string mystatus = status[ranSts.Next(0, status.Length)];

            int[] score = new int[5] {
                1, 2, 3, 4, 5
            };
            Random ranScore = new Random();
            int    myscore  = score[ranScore.Next(0, score.Length)];

            var response = new {
                Orders = new {
                    ID     = Guid.NewGuid().ToString(),
                    Status = mystatus,
                    Score  = myscore
                }
            };

            return(Ok(response));
        }
예제 #3
0
        public ResponseSend Send(RequestSend requestSend)
        {
            var client = new RestClient("http://localhost:50976");

            var request = new RestRequest("/v1/api/AntiFraud/ClearSale/Send", Method.POST);

            var json = JsonConvert.SerializeObject(requestSend);

            request.AddParameter("text/json", json, ParameterType.RequestBody);

            IRestResponse response = client.Execute(request);

            ResponseSend responseSend = null;

            if (response.StatusCode == System.Net.HttpStatusCode.OK)
            {
                try
                {
                    responseSend = JsonConvert.DeserializeObject <ResponseSend>(response.Content);
                }
                catch (Exception ex)
                {
                }
            }
            else
            {
            }

            return(responseSend);
        }
예제 #4
0
        public void SendTest()
        {
            RequestAuth requestAuth = new RequestAuth();

            requestAuth.Login = new Credentials()
            {
                ApiKey       = ConfigurationManager.AppSettings["ApiKey"],
                ClientID     = ConfigurationManager.AppSettings["ClientID"],
                ClientSecret = ConfigurationManager.AppSettings["ClientSecret"]
            };

            ResponseAuth responseAuth = this.Login(requestAuth);

            RequestSend  request  = new RequestSend();
            ResponseSend response = new ResponseSend();

            request.ApiKey           = ConfigurationManager.AppSettings["ApiKey"];
            request.LoginToken       = responseAuth.Token.Value;
            request.AnalysisLocation = ConfigurationManager.AppSettings["AnalysisLocation"];

            request.Orders = new List <Order>();
            request.Orders.Add(CreateOrder());

            response = this.SendOrders(request);

            Assert.IsNotNull(response.Orders[0]);
        }
예제 #5
0
        /// <summary>
        /// Добавление нового элемента в таблицу
        /// </summary>
        /// <param name="url"></param>
        public static void AddNewProduct(string url)
        {
            Json     = RequestSend.GET(url);
            Product_ = JsonConvert.DeserializeObject <Product>(Json);

            ProductContext context = new ProductContext();

            // Добавить в DbSet
            context.Products.Add(Product_);

            // Сохранить изменения в базе данных
            context.SaveChanges();
        }
예제 #6
0
        private ResponseSend SendOrders(RequestSend order)
        {
            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(ConfigurationManager.AppSettings["BaseUrl"]);

                StringContent data = new StringContent(JsonConvert.SerializeObject(order).ToString(), Encoding.UTF8, "application/json");

                string       json     = client.PostAsync("/api/order/send", data).Result.Content.ReadAsStringAsync().Result;
                ResponseSend response = JsonConvert.DeserializeObject <ResponseSend>(json);

                return(response);
            }
        }
예제 #7
0
        public ResponseSend Send(RequestSend requestSend)
        {
            Console.WriteLine("Requisição recebida : ClearSale Send");


            Console.WriteLine("  Simulando análise antifraude ...");


            ResponseSend responseSend = new ResponseSend()
            {
            };


            return(responseSend);
        }
예제 #8
0
        /// <summary>
        /// Sends data to the clients.
        /// </summary>
        /// <param name="args">Contains information on who to send to.</param>
        protected void Send(SendEventArgs args)
        {
            var delegates = RequestSend?.GetInvocationList().ToList();

            if (delegates != null && delegates.Count > 0)
            {
                args.SendData = true;
                foreach (var d in delegates)
                {
                    d.DynamicInvoke(this, args);
                    if (!args.SendData)
                    {
                        break;
                    }
                }
            }
        }
예제 #9
0
 public ResponseSend Send(RequestSend auth)
 {
     return(this.service.Send(auth));
 }
예제 #10
0
        public TransactionResponse Process(TransactionRequest transactionRequest)
        {
            #region AntiFraud ClearSale

            ClearSaleServiceAgent clearSaleServiceAgent = new ClearSaleServiceAgent();
            Credentials           login = new Credentials()
            {
                Apikey       = "",
                ClientID     = "",
                ClientSecret = ""
            };

            ResponseAuth responseAuth = clearSaleServiceAgent.Login(login);

            RequestSend requestSend = new RequestSend()
            {
                ApiKey           = login.Apikey,
                LoginToken       = responseAuth.Token.Value,
                Orders           = null, //orders
                AnalysisLocation = "BR"
            };

            ResponseSend responseSend = clearSaleServiceAgent.Send(requestSend);
            clearSaleServiceAgent.Logout(login);

            #endregion

            #region Acquirer Stone

            var transaction = new GatewayApiClient.DataContracts.CreditCardTransaction()
            {
                AmountInCents = 10000,
                CreditCard    = new GatewayApiClient.DataContracts.CreditCard()
                {
                    CreditCardBrand  = GatewayApiClient.DataContracts.EnumTypes.CreditCardBrandEnum.Visa,
                    CreditCardNumber = "4111111111111111",
                    ExpMonth         = 10,
                    ExpYear          = 22,
                    HolderName       = "LUKE SKYWALKER",
                    SecurityCode     = "123"
                },
                InstallmentCount = 1
            };

            // Cria requisição.
            var createSaleRequest = new GatewayApiClient.DataContracts.CreateSaleRequest()
            {
                // Adiciona a transação na requisição.
                CreditCardTransactionCollection = new System.Collections.ObjectModel.Collection <GatewayApiClient.DataContracts.CreditCardTransaction>(new GatewayApiClient.DataContracts.CreditCardTransaction[] { transaction }),
                Order = new GatewayApiClient.DataContracts.Order()
                {
                    OrderReference = "NumeroDoPedido"
                }
            };

            // Coloque a sua MerchantKey aqui.
            Guid merchantKey = Guid.Parse("F2A1F485-CFD4-49F5-8862-0EBC438AE923");

            StoneServiceAgent stoneServiceAgent = new StoneServiceAgent();

            var salesResponse = stoneServiceAgent.MakeCreditCardTransaction(createSaleRequest);
            #endregion

            #region Acquirer Cielo
            #endregion

            TransactionResponse transactionResponse = new TransactionResponse(null, Model.API.EStatusResponse.Success, "");
            return(transactionResponse);
        }