コード例 #1
0
        public static void Run()
        {
            Console.WriteLine("CARTAO PROTEGIDO");
            Console.WriteLine("=====================================");

            /* Criação do Cliente Cartão Protegido */
            var cartaoProtegidoClient = new CartaoProtegidoClient(new CartaoProtegidoClientOptions
            {
                Environment = Environment.Sandbox,
                Credentials = new MerchantCredentials
                {
                    MerchantKey = "106c8a0c-89a4-4063-bf50-9e6c8530593b"
                }
            });

            /* Salvar cartão */
            var saveCreditCardResponse = SaveCreditCardAsync(cartaoProtegidoClient).Result;

            Console.WriteLine("Card tokenized");
            Console.WriteLine($"Card Token: {saveCreditCardResponse.JustClickKey}");
            Console.WriteLine();

            /* Recuperação dos dados de cartão via token */
            var getCreditCardResponse = GetCreditCardAsync(cartaoProtegidoClient, saveCreditCardResponse.JustClickKey).Result;

            Console.WriteLine("Card data obtained from secure server");
            Console.WriteLine($"Card Number: {getCreditCardResponse.CardNumber}");
            Console.WriteLine($"Card Holder: {getCreditCardResponse.CardHolder}");
            Console.WriteLine($"Card Expiration: {getCreditCardResponse.CardExpiration}");
            Console.WriteLine();
        }
コード例 #2
0
        public async Task InvalidateCreditCardAsync_ForValidToken_ReturnsOK(CartaoProtegidoClient sut)
        {
            var saveRequest = new SaveCreditCardRequest
            {
                CustomerName           = "Bjorn Ironside",
                CustomerIdentification = "762.502.520-96",
                CardHolder             = "BJORN IRONSIDE",
                CardExpiration         = "10/2025",
                CardNumber             = "1000100010001000"
            };

            var saveResponse = await sut.SaveCreditCardAsync(saveRequest, new MerchantCredentials { MerchantKey = "106c8a0c-89a4-4063-bf50-9e6c8530593b" });

            Assert.Equal(HttpStatusCode.OK, saveResponse.HttpStatus);
            Assert.Empty(saveResponse.ErrorDataCollection);
            Assert.NotNull(saveResponse.JustClickKey);

            var invalidateRequest = new InvalidateCreditCardRequest
            {
                JustClickKey = saveResponse.JustClickKey
            };

            var invalidateResponse = await sut.InvalidateCreditCardAsync(invalidateRequest, new MerchantCredentials { MerchantKey = "106c8a0c-89a4-4063-bf50-9e6c8530593b" });

            Assert.Equal(HttpStatusCode.OK, invalidateResponse.HttpStatus);
        }
コード例 #3
0
        public async Task GetCreditCardAsync_ForNullToken_ReturnsInternalServerError(CartaoProtegidoClient sut)
        {
            var request = new GetCreditCardRequest
            {
                JustClickKey = null
            };

            var response = await sut.GetCreditCardAsync(request, new MerchantCredentials { MerchantKey = "106c8a0c-89a4-4063-bf50-9e6c8530593b" });

            Assert.Equal(HttpStatusCode.InternalServerError, response.HttpStatus);
        }
コード例 #4
0
        public async Task GetCreditCardAsync_ForInvalidToken_ReturnsErrorMessage(CartaoProtegidoClient sut)
        {
            var request = new GetCreditCardRequest
            {
                JustClickKey = "1ff03ed9-0000-0000-0000-23b700000000"
            };

            var response = await sut.GetCreditCardAsync(request, new MerchantCredentials { MerchantKey = "106c8a0c-89a4-4063-bf50-9e6c8530593b" });

            Assert.Equal(HttpStatusCode.OK, response.HttpStatus);
            Assert.NotEmpty(response.ErrorDataCollection);
        }
コード例 #5
0
        public async Task GetCreditCardAsync_ForValidToken_ReturnsCardData(CartaoProtegidoClient sut)
        {
            var request = new GetCreditCardRequest
            {
                JustClickKey = "1ff03ed9-5f56-4ac6-bfb8-23b7a1aa55a7",
                RequestId    = Guid.NewGuid()
            };

            var response = await sut.GetCreditCardAsync(request, new MerchantCredentials { MerchantKey = "106c8a0c-89a4-4063-bf50-9e6c8530593b" });

            Assert.Equal(HttpStatusCode.OK, response.HttpStatus);
            Assert.Equal("4539321573193671", response.CardNumber);
            Assert.Equal("453932******3671", response.MaskedCardNumber);
            Assert.Equal("06/2020", response.CardExpiration);
            Assert.Equal("TESTE TESTETESTE", response.CardHolder);
            Assert.Equal(request.RequestId.Value, response.CorrelationId.Value);
        }
コード例 #6
0
        public async Task SaveCreditCardAsync_ReturnsJustClickToken(CartaoProtegidoClient sut)
        {
            var request = new SaveCreditCardRequest
            {
                CustomerName           = "Bjorn Ironside",
                CustomerIdentification = "762.502.520-96",
                CardHolder             = "BJORN IRONSIDE",
                CardExpiration         = "10/2025",
                CardNumber             = "1000100010001000",
                JustClickAlias         = DateTime.Now.Ticks.ToString()
            };

            var response = await sut.SaveCreditCardAsync(request, new MerchantCredentials { MerchantKey = "106c8a0c-89a4-4063-bf50-9e6c8530593b" });

            Assert.Equal(HttpStatusCode.OK, response.HttpStatus);
            Assert.Empty(response.ErrorDataCollection);
            Assert.NotNull(response.JustClickKey);
        }