예제 #1
0
        public void ItShouldGetBuyer()
        {
            // Cria o cliente para buscar um buyer
            IGatewayServiceClient serviceClient = this.GetGatewayServiceClient();

            // Cria um buyer e pega sua chave
            Guid buyerKey = serviceClient.Buyer.CreateBuyer(this._createBuyer).Response.BuyerKey;

            // Faz a chamada do método de buscar o buyer
            var response = serviceClient.Buyer.GetBuyer(buyerKey);

            // Verifica se recebeu a resposta com sucesso
            Assert.IsTrue(response.Response.Success);
        }
예제 #2
0
        public void ItShouldCreateCreditCardSaleWithOrderReference()
        {
            // Cria o client que enviará a transação.
            IGatewayServiceClient serviceClient = this.GetGatewayServiceClient();

            // Identificação do pedido na loja.
            string orderReference = Guid.NewGuid().ToString("n");

            // Autoriza a transação de cartão de crédito e recebe a resposta do gateway.
            HttpResponse <CreateSaleResponse> httpResponse = serviceClient.Sale.Create(this._createSingleCreditCardTransaction, orderReference);

            Assert.AreEqual(HttpStatusCode.Created, httpResponse.HttpStatusCode);
            Assert.AreEqual(orderReference, httpResponse.Response.OrderResult.OrderReference);
        }
예제 #3
0
        public void ItShouldConsultCreditCardWithInstantBuyKey()
        {
            // Cria o cliente para retentar a transação.
            IGatewayServiceClient serviceClient = this.GetGatewayServiceClient();

            // Cria transação de cartão de crédito para ser retentada
            HttpResponse <CreateSaleResponse> saleResponse = serviceClient.Sale.Create(this._createCreditCardSaleRequest);

            Assert.AreEqual(saleResponse.HttpStatusCode, HttpStatusCode.Created);

            var instantBuyKey = saleResponse.Response.CreditCardTransactionResultCollection.Select(x => x.CreditCard.InstantBuyKey);

            // Obtém os dados do cartão de crédito no gateway.
            HttpResponse <GetInstantBuyDataResponse> httpResponse = serviceClient.CreditCard.GetCreditCard(instantBuyKey.FirstOrDefault());

            Assert.AreEqual(HttpStatusCode.OK, httpResponse.HttpStatusCode);
        }
예제 #4
0
        public void ItShouldDoQueryMethod()
        {
            // Cria o cliente para consultar o pedido.
            IGatewayServiceClient serviceClient = this.GetGatewayServiceClient();

            // Cria transação de cartão de crédito para ser consultada
            HttpResponse <CreateSaleResponse> saleResponse = serviceClient.Sale.Create(this._createCreditCardSaleRequest);

            Assert.AreEqual(saleResponse.HttpStatusCode, HttpStatusCode.Created);

            Guid orderKey = saleResponse.Response.OrderResult.OrderKey;

            // Consulta o pedido no gateway.
            HttpResponse <QuerySaleResponse> httpResponse = serviceClient.Sale.QueryOrder(orderKey);

            Assert.AreEqual(httpResponse.HttpStatusCode, HttpStatusCode.OK);
        }
예제 #5
0
        public void ItShouldRetryATransaction()
        {
            // Cria o cliente para retentar a transação.
            IGatewayServiceClient serviceClient = this.GetGatewayServiceClient();

            // Cria transação de cartão de crédito para ser retentada
            HttpResponse <CreateSaleResponse> saleResponse = serviceClient.Sale.Create(this._createCreditCardSaleRequest);

            Assert.AreEqual(saleResponse.HttpStatusCode, HttpStatusCode.Created);

            Guid orderKey = saleResponse.Response.OrderResult.OrderKey;

            // Retenta a transação de cartão de crédito e recebe a resposta do gateway.
            HttpResponse <RetrySaleResponse> httpResponse = serviceClient.Sale.Retry(orderKey);

            Assert.AreEqual(httpResponse.HttpStatusCode, HttpStatusCode.OK);
        }
예제 #6
0
        public void ItShouldCaptureATransaction()
        {
            // Cria o cliente para Capturar a transação.
            IGatewayServiceClient serviceClient = this.GetGatewayServiceClient();

            // Cria transação de cartão de crédito para ser capturada
            HttpResponse <CreateSaleResponse> saleResponse = serviceClient.Sale.Create(this._createCreditCardSaleRequest);

            Assert.AreEqual(saleResponse.HttpStatusCode, HttpStatusCode.Created);

            Guid orderKey = saleResponse.Response.OrderResult.OrderKey;

            // Captura a transação de cartão de crédito e recebe a resposta do gateway.
            HttpResponse <ManageSaleResponse> httpResponse = serviceClient.Sale.Manage(ManageOperationEnum.Capture, orderKey);

            Assert.AreEqual(httpResponse.HttpStatusCode, HttpStatusCode.OK);
        }
예제 #7
0
        public void ItShouldUpdateCreditCard()
        {
            // Cria o cliente para retentar a transação.
            IGatewayServiceClient serviceClient = this.GetGatewayServiceClient();

            // Obtém o instantbuykey para atualizar o cartão
            Guid instantBuyKey = serviceClient.CreditCard.CreateCreditCard(this._createInstantBuyDataRequest).Response.InstantBuyKey;

            // Cria um buyer para usar o buyerkey e atualizar o cartão
            UpdateInstantBuyDataRequest updateInstantBuyDataRequest = new UpdateInstantBuyDataRequest {
                BuyerKey = serviceClient.Buyer.CreateBuyer(this._createBuyer).Response.BuyerKey
            };

            // Atualiza o cartão
            var response = serviceClient.CreditCard.UpdateCreditCard(updateInstantBuyDataRequest, instantBuyKey);

            // Varifica se a operação foi bem sucedida
            Assert.IsTrue(response.Response.Success);
        }
예제 #8
0
 public DenominationService(IJSonDao <DenominationModel> dao, IGatewayServiceClient gatewayServiceClient)
 {
     _dao = dao;
     _gatewayServiceClient = gatewayServiceClient;
 }
예제 #9
0
        public void ItShouldCreateSaleWithAllFields()
        {
            CreateSaleRequest saleRequest = new CreateSaleRequest();

            // Dados da transação de cartão de crédito.
            saleRequest.CreditCardTransactionCollection = new Collection <CreditCardTransaction>()
            {
                new CreditCardTransaction()
                {
                    AmountInCents       = 100,
                    CreditCardOperation = CreditCardOperationEnum.AuthAndCapture,
                    CreditCard          = new CreditCard()
                    {
                        CreditCardBrand  = CreditCardBrandEnum.Visa,
                        CreditCardNumber = "4111111111111111",
                        ExpMonth         = 10,
                        ExpYear          = 2018,
                        HolderName       = "Somebody",
                        SecurityCode     = "123"
                    },
                    // Opcional.
                    Options = new CreditCardTransactionOptions()
                    {
                        // Indica que a transação é de simulação.
                        PaymentMethodCode = 1
                    }
                }
            };

            // Dados do comprador.
            saleRequest.Buyer = new Buyer()
            {
                DocumentNumber    = "11111111111",
                DocumentType      = DocumentTypeEnum.CPF,
                Email             = "*****@*****.**",
                EmailType         = EmailTypeEnum.Personal,
                Gender            = GenderEnum.M,
                HomePhone         = "(21) 12345678",
                Name              = "Somebody",
                PersonType        = PersonTypeEnum.Person,
                AddressCollection = new Collection <BuyerAddress>()
                {
                    new BuyerAddress()
                    {
                        AddressType = AddressTypeEnum.Residential,
                        City        = "Rio de Janeiro",
                        Complement  = "10º floor",
                        Country     = CountryEnum.Brazil.ToString(),
                        District    = "Centro",
                        Number      = "199",
                        State       = "RJ",
                        Street      = "Rua da Quitanda",
                        ZipCode     = "20091005"
                    }
                }
            };

            // Dados do carrinho de compras.
            saleRequest.ShoppingCartCollection = new Collection <ShoppingCart>()
            {
                new ShoppingCart()
                {
                    FreightCostInCents         = 0,
                    ShoppingCartItemCollection = new Collection <ShoppingCartItem>()
                    {
                        new ShoppingCartItem()
                        {
                            Description      = "Teclado Padrão",
                            ItemReference    = "#1234",
                            Name             = "Teclado",
                            Quantity         = 3,
                            TotalCostInCents = 60,
                            UnitCostInCents  = 20
                        }
                    }
                }
            };

            // Indica que o pedido usará anti fraude.
            saleRequest.Options.IsAntiFraudEnabled = true;

            // Cria o cliente que enviará a transação para o gateway.
            IGatewayServiceClient serviceClient = this.GetGatewayServiceClient();

            // Autoriza a transação de cartão de crédito e recebe a resposta do gateway.
            HttpResponse <CreateSaleResponse> httpResponse = serviceClient.Sale.Create(saleRequest);

            Assert.AreEqual(HttpStatusCode.Created, httpResponse.HttpStatusCode);
        }