public ActionResult Checkout(CheckoutViewModel creditCardValues)
        {
            var yearExpiration = Convert.ToInt16(creditCardValues.ExpirationYear);
            var monthExpiration = Convert.ToByte(creditCardValues.ExpirationMonth);

            var order = new Order(_randomOrderId, 4700.00m, DateTime.Now, "Goku e GokuSSJ");
            var paymentMethod = new PaymentMethod(CreditCard.MasterCard, PurchaseType.Credit);
            var options = new CreateTransactionOptions(AuthorizationType.AuthorizeSkippingAuthentication, true);
            var creditCardData = new CreditCardData(creditCardValues.CreditCardNumber,
                new CreditCardExpiration(yearExpiration, monthExpiration), SecurityCodeIndicator.Sent,
                creditCardValues.SecurityCode);
            var createTransactionRequest = new CreateTransactionRequest(order, paymentMethod, options, creditCardData,
                _configuration);

            try
            {
                var response = _cieloService.CreateTransaction(createTransactionRequest);
                Session["tid"] = response.Tid;
                return Redirect("CheckStatus");
            }
            catch (ResponseException ex)
            {
                ViewBag.MessageError = ex.Message;
                return View(creditCardValues);
            }
        }
        public CreateTransactionRequest(
            Order order,
            PaymentMethod paymentMethod,
            CreateTransactionOptions options,
            CreditCardData creditCardData = null,
            IConfiguration configuration = null) : base(configuration)
        {
            PaymentMethod = paymentMethod;
            Options = options;
            CreditCardData = creditCardData;
            Order = order;

            UniqueKey = Guid.NewGuid();
        }
        public void ToXml_LojaBuyPage_GivenACreateTransactionRequest_ShouldGenerateAXmlAsExpected()
        {
            var order = new Order("624726783", 10.00m, new DateTime(2013, 02, 18, 16, 45, 12), "[origem:172.16.34.66]");
            var paymentMethod = new PaymentMethod(CreditCard.Visa, PurchaseType.Credit);
            var createTransactionOptions =
                new CreateTransactionOptions(AuthorizationType.AuthorizeSkippingAuthentication, false);
            var creditCardData = new CreditCardData("4551870000000183", new CreditCardExpiration(2015, 08),
                SecurityCodeIndicator.Sent, "031");
            var fakeConfiguration = new FakeConfiguration();

            var createTransactionRequest = new CreateTransactionRequest(order, paymentMethod, createTransactionOptions,
                creditCardData, fakeConfiguration)
            {
                UniqueKey = Guid.Parse("b646a02f-9983-4df8-91b9-75b48345715a")
            };

            createTransactionRequest
                .ToXml(false)
                .RemoveNewLinesAndSpaces()
                .Should()
                .Be(ExpectedXmlLojaBuyPage.RemoveNewLinesAndSpaces());
        }