/// <summary>
        /// Cria uma transação de cartão de crédito
        /// </summary>
        /// <param name="creditCardTransaction">Dados da transação de cartão de crédito</param>
        /// <param name="orderReference">Identificação do pedido na loja</param>
        /// <returns></returns>
        public HttpResponse <CreateSaleResponse> Create(CreditCardTransactionStone creditCardTransaction, string orderReference)
        {
            Collection <CreditCardTransactionStone> creditCardTransactionCollection = new Collection <CreditCardTransactionStone>();

            creditCardTransactionCollection.Add(creditCardTransaction);

            return(this.Create(creditCardTransactionCollection, orderReference));
        }
Esempio n. 2
0
        private CreateSaleRequestStone CreateStoneSaleRequest(CreditCardTransactionStone transaction)
        {
            // Cria requisição.
            var createSaleRequest = new CreateSaleRequestStone()
            {
                // Adiciona a transação na requisição.
                CreditCardTransactionStoneCollection =
                    new Collection <CreditCardTransactionStone>(new CreditCardTransactionStone[] { transaction }),
                Order = new Order()
                {
                    OrderReference = "NumeroDoPedido"
                }
            };

            return(createSaleRequest);
        }
Esempio n. 3
0
        public HttpResponseMessage PassarCartaoVisa(CreditCardTransactionStone transaction)
        {
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3;

            var resultadoVerficarCartaoAntiFraude = string.Empty;

            //Clinte Usa AntiFraude
            if (VarificarClienteUsaAntiFraude(false))
            {
                resultadoVerficarCartaoAntiFraude = VerificarCartaoAntiFraude();
            }

            if (string.Compare(resultadoVerficarCartaoAntiFraude, "APA", StringComparison.OrdinalIgnoreCase) > 0)
            {
                //Retornar antifraude mensagem
            }

            //Deveria vir do banco de dados
            this._endpoint = new Uri("https://transaction.stone.com.br");
            var saleRequest   = CreateStoneSaleRequest(transaction);
            var serviceClient = new GatewayServiceClientStone(_merchantKeyStone, _endpoint, null);

            return(Response(serviceClient.Sale.Create(saleRequest)));
        }
 /// <summary>
 /// Cria uma transação de cartão de crédito
 /// </summary>
 /// <param name="creditCardTransaction">Dados da transação de cartão de crédito</param>
 /// <returns></returns>
 public HttpResponse <CreateSaleResponse> Create(CreditCardTransactionStone creditCardTransaction)
 {
     return(this.Create(creditCardTransaction, null));
 }