Beispiel #1
0
        public HttpResponse <CreateInstantBuyDataResponse> CreateCreditCard(CreateInstantBuyDataRequest createInstantBuyDataRequest)
        {
            HttpVerbEnum httpVerb = HttpVerbEnum.Post;

            NameValueCollection headers = this.GetHeaders();

            headers.Add("MerchantKey", this.MerchantKey.ToString());

            return
                (this.HttpUtility.SubmitRequest <CreateInstantBuyDataRequest, CreateInstantBuyDataResponse>(createInstantBuyDataRequest,
                                                                                                            string.Concat(this.HostUri, this.ResourceName), httpVerb, HttpContentTypeEnum.Json, headers));
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            Guid merchantKey = Guid.Parse(ConfigurationManager.AppSettings["merchantKey"]);
            var  client      = new GatewayServiceClient(merchantKey, new Uri("https://transaction.stone.com.br"));

            #region help with brands

            /*
             | Bandeira   | Comeca com                                  | Máximo de número | Máximo de número cvc |
             | ---------- | ------------------------------------------- | ---------------- | -------------------- |
             | Visa       | 4                                           | 13,16            | 3                    |
             | Mastercard | 5                                           | 16               | 3                    |
             | Diners     | 301,305,36,38                               | 14,16            | 3                    |
             | Elo        | 636368,438935,504175,451416,509048,509067,  |                  | 3(?)
             |            | 509049,509069,509050,509074,509068,509040,
             |            | 509045,509051,509046,509066,509047,509042,
             |            | 509052,509043,509064,509040                 |                  |
             |            | 36297, 5067,4576,4011                       | 16               | 3
             | Amex       | 34,37                                       | 15               | 4                    |
             | Discover   | 6011,622,64,65                              | 16               | 4                    |
             | Aura       | 50                                          | 16               | 3                    |
             | jcb        | 35                                          | 16               | 3                    |
             | Hipercard  | 38,60                                       | 13,16,19         | 3                    |
             */
            #endregion

            var begin = 7;
            Console.SetCursorPosition(1, 1);
            Console.WriteLine("choice a option:");
            Console.SetCursorPosition(1, 2);
            Console.WriteLine("1 - to create a InstanBuyKey");
            Console.SetCursorPosition(1, 3);
            Console.WriteLine("2 - to find a credit card");
            Console.SetCursorPosition(1, 4);
            Console.WriteLine("3 - to create a transaction fake");
            Console.SetCursorPosition(1, 5);
            Console.WriteLine("4 - to cancel a transaction");
            Console.SetCursorPosition(1, begin);
            var readKey            = Console.Read();
            var serializerSettings = new JsonSerializerSettings
            {
                ContractResolver = new CamelCasePropertyNamesContractResolver(),
                Formatting       = Formatting.Indented
            };
            switch (readKey)
            {
            case 49:     //key 1
                var createInstantBuyDataRequest = new CreateInstantBuyDataRequest()
                {
                    CreditCardBrand        = CreditCardBrandEnum.Mastercard,
                    CreditCardNumber       = "1111222233334444",
                    ExpMonth               = 01,
                    ExpYear                = 20,
                    HolderName             = "John White".ToUpper(),
                    IsOneDollarAuthEnabled = false,
                    SecurityCode           = "123"
                };
                var createCreditCardResponse = client.CreditCard.CreateCreditCard(createInstantBuyDataRequest);
                if (createCreditCardResponse.HttpStatusCode == HttpStatusCode.Created && createCreditCardResponse.Response.Success == true)
                {
                    Console.SetCursorPosition(1, begin);
                    Console.Write(new string(' ', Console.WindowWidth));
                    Console.SetCursorPosition(1, begin);
                    Console.WriteLine("InstantBuy Key: {0}", createCreditCardResponse.Response.InstantBuyKey);
                }
                break;

            case 50:     //key 2
                var instantBuyKey         = Guid.Parse(ConfigurationManager.AppSettings["instantBuyKey"]);
                var getCreditCardResponse = client.CreditCard.GetCreditCard(instantBuyKey);
                var result = getCreditCardResponse.RawResponse;

                var obj  = JsonConvert.DeserializeObject(result);
                var json = JsonConvert.SerializeObject(obj, serializerSettings);
                //
                Console.SetCursorPosition(1, begin);
                Console.Write(new string(' ', Console.WindowWidth));
                Console.SetCursorPosition(1, begin);
                Console.WriteLine(json);
                break;

            case 51:     //key 3
                var value       = 86.21100000000001;
                var transaction = new CreditCardTransaction()
                {
                    AmountInCents    = (long)(value * 100),
                    InstallmentCount = 1,
                    //this param is simulation payment
                    Options = new CreditCardTransactionOptions {
                        PaymentMethodCode = 1
                    },
                    CreditCardOperation = CreditCardOperationEnum.AuthAndCapture,
                    CreditCard          = new CreditCard()
                    {
                        InstantBuyKey = Guid.Parse(ConfigurationManager.AppSettings["instantBuyKey"])
                    }
                };
                var createSaleRequest = new CreateSaleRequest()
                {
                    CreditCardTransactionCollection = new Collection <CreditCardTransaction>(new CreditCardTransaction[] { transaction }),
                    Order = new Order {
                        OrderReference = Guid.NewGuid().ToString()
                    }
                };
                var serviceClient = new GatewayServiceClient();
                var httpResponse  = serviceClient.Sale.Create(createSaleRequest);
                var jsonResponse  = JsonConvert.SerializeObject(httpResponse, serializerSettings);
                //
                Console.SetCursorPosition(1, begin);
                Console.Write(new string(' ', Console.WindowWidth));
                Console.SetCursorPosition(1, begin);
                Console.WriteLine(jsonResponse);
                break;

            case 52:     //key 4
                var orderKey           = Guid.Parse("094c775d-ea43-429f-97b9-4474c3fdqwe");
                var saleManageResponse = client.Sale.Manage(ManageOperationEnum.Cancel, orderKey);

                if (saleManageResponse.HttpStatusCode == HttpStatusCode.OK &&
                    saleManageResponse.Response.CreditCardTransactionResultCollection.Any() &&
                    saleManageResponse.Response.CreditCardTransactionResultCollection.All(p => p.Success == true))
                {
                    var respManage     = client.Sale.Manage(ManageOperationEnum.Cancel, orderKey).RawResponse;
                    var objRespManage  = JsonConvert.DeserializeObject(respManage);
                    var jsonRespManage = JsonConvert.SerializeObject(objRespManage, serializerSettings);
                    Console.SetCursorPosition(1, begin);
                    Console.Write(new string(' ', Console.WindowWidth));
                    Console.SetCursorPosition(1, begin);
                    Console.WriteLine(jsonRespManage);
                }
                break;

            default:
                Console.WriteLine("Not found key!");
                break;
            }
            //
            Console.ReadKey();
        }