コード例 #1
0
        public void ItShouldCreateATransactionWithInstantBuyKey()
        {
            // Cria o cliente para retentar a transação.
            IGatewayServiceClientStone serviceClient = this.GetGatewayServiceClient();

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

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

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

            // Cria requisição com instant buy key
            CreateSaleRequestStone createSale = new CreateSaleRequestStone {
                CreditCardTransactionStoneCollection = new Collection <CreditCardTransactionStone>
                {
                    new CreditCardTransactionStone
                    {
                        AmountInCents = 10000,
                        CreditCard    = new CreditCardStone
                        {
                            InstantBuyKey = instantBuyKey.FirstOrDefault()
                        }
                    }
                }
            };

            // Faz a requisição
            HttpResponse <CreateSaleResponse> httpResponse = serviceClient.Sale.Create(createSale);

            Assert.AreEqual(HttpStatusCode.Created, httpResponse.HttpStatusCode);
        }
コード例 #2
0
        public void ItShouldConsultCreditCardWithBuyerKey()
        {
            Buyer buyer = new Buyer {
                Name           = "Anakin Skywalker",
                Birthdate      = new DateTime(1994, 9, 26),
                DocumentNumber = "12345678901",
                DocumentType   = DocumentTypeEnum.CPF,
                PersonType     = PersonTypeEnum.Person,
                Gender         = GenderEnum.M
            };

            _createCreditCardSaleRequestStone.Buyer = buyer;

            // Cria o cliente para retentar a transação.
            IGatewayServiceClientStone serviceClient = this.GetGatewayServiceClient();

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

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

            var buyerKey = saleResponse.Response.BuyerKey;

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

            Assert.AreEqual(HttpStatusCode.OK, httpResponse.HttpStatusCode);
        }
コード例 #3
0
        public void ItShouldCreateCreditCardSaleUsingConfiguredMerchantKey()
        {
            // Cria o client que enviará a transação.
            IGatewayServiceClientStone 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(this._createCreditCardSaleRequestStone);

            Assert.AreEqual(HttpStatusCode.Created, httpResponse.HttpStatusCode);
        }
コード例 #4
0
        public void ItShouldCreateBuyer()
        {
            // Cria o cliente para criar um buyer
            IGatewayServiceClientStone serviceClient = this.GetGatewayServiceClient();

            // Faz a chamada do método
            var response = serviceClient.Buyer.CreateBuyer(this._createBuyer);

            // Verifica se recebeu a resposta com sucesso
            Assert.IsTrue(response.Response.Success);
        }
コード例 #5
0
        public void ItShouldCreateACreditCard()
        {
            // Cria o cliente para retentar a transação.
            IGatewayServiceClientStone serviceClient = this.GetGatewayServiceClient();

            // Obtém a resposta da criação do cartão
            var response = serviceClient.CreditCard.CreateCreditCard(this._createInstantBuyDataRequest);

            // Verifica se a resposta foi bem sucedida
            Assert.IsTrue(response.Response.Success);
        }
コード例 #6
0
        public void ItShouldDeleteCreditCard()
        {
            // Cria o cliente para retentar a transação.
            IGatewayServiceClientStone serviceClient = this.GetGatewayServiceClient();

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

            var response = serviceClient.CreditCard.DeleteCreditCard(instantBuyKey);

            // Verifica se a resposta foi bem sucedida
            Assert.IsTrue(response.Response.Success);
        }
コード例 #7
0
        public void ItShouldGetBuyer()
        {
            // Cria o cliente para buscar um buyer
            IGatewayServiceClientStone 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);
        }
コード例 #8
0
        public void ItShouldCreateCreditCardSaleWithOrderReference()
        {
            // Cria o client que enviará a transação.
            IGatewayServiceClientStone 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);
        }
コード例 #9
0
        public void ItShouldConsultCreditCardWithInstantBuyKey()
        {
            // Cria o cliente para retentar a transação.
            IGatewayServiceClientStone serviceClient = this.GetGatewayServiceClient();

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

            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);
        }
コード例 #10
0
        public void ItShouldDoQueryMethod()
        {
            // Cria o cliente para consultar o pedido.
            IGatewayServiceClientStone serviceClient = this.GetGatewayServiceClient();

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

            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);
        }
コード例 #11
0
        public void ItShouldRetryATransaction()
        {
            // Cria o cliente para retentar a transação.
            IGatewayServiceClientStone serviceClient = this.GetGatewayServiceClient();

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

            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);
        }
コード例 #12
0
        public void ItShouldCaptureATransaction()
        {
            // Cria o cliente para Capturar a transação.
            IGatewayServiceClientStone serviceClient = this.GetGatewayServiceClient();

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

            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);
        }
コード例 #13
0
        public void ItShouldUpdateCreditCard()
        {
            // Cria o cliente para retentar a transação.
            IGatewayServiceClientStone 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);
        }
コード例 #14
0
        public void ItShouldCreateSaleWithAllFields()
        {
            CreateSaleRequestStone saleRequestStone = new CreateSaleRequestStone();

            // Dados da transação de cartão de crédito.
            saleRequestStone.CreditCardTransactionStoneCollection = new Collection <CreditCardTransactionStone>()
            {
                new CreditCardTransactionStone()
                {
                    AmountInCents       = 100,
                    CreditCardOperation = CreditCardOperationEnum.AuthAndCapture,
                    CreditCard          = new CreditCardStone()
                    {
                        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.
            saleRequestStone.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"
                    }
                }
            };

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

            // Cria o cliente que enviará a transação para o gateway.
            IGatewayServiceClientStone 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(saleRequestStone);

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