Esempio n. 1
0
        static void MainPAGSEGURO(string[] args)
        {
            Console.WriteLine("informe 1 (sandbox) 2 (producao)  == DEFAULT 1:");
            var opt       = Console.ReadKey();
            var issandbox = (opt == new ConsoleKeyInfo('1', ConsoleKey.D1, false, false, false) || opt == new ConsoleKeyInfo('\r', ConsoleKey.Enter, false, false, false) ? true : false);

            var apic = new APIServices(issandbox, 0);


            Console.WriteLine("informe OPCAO:");
            Console.WriteLine("1) gerar session");
            Console.WriteLine("2) gerar plano");
            Console.WriteLine("3) consultar ordens");
            Console.WriteLine("4) status transação");
            Console.WriteLine("5) consultar status da adesão");
            Console.WriteLine("6) retry de ordem de pagamento");

            var mnu = Console.ReadKey();

            Console.WriteLine("-----------------------");

            if (mnu == new ConsoleKeyInfo('1', ConsoleKey.D1, false, false, false))
            {
                var ret = apic.GetSessionToken(out string sessiontoken, out RestTrace restTrace);

                if (ret != null)
                {
                    Console.WriteLine("ERRO:" + ret);
                }

                else
                {
                    Console.WriteLine("sessao:" + sessiontoken);
                }
            }
            else if (mnu == new ConsoleKeyInfo('2', ConsoleKey.D2, false, false, false))
            {
                var plan = new MigLibUtils.Services.PagSeguro.BizClasses.PGRecurrencePlan()
                {
                    preApproval = new MigLibUtils.Services.PagSeguro.BizClasses.PGRecurrencePlan.preApprovalData()
                    {
                        amountPerPayment    = 19.90M,
                        cancelURL           = null,
                        charge              = "AUTO",
                        membershipFee       = null,
                        name                = "PLANO TESTE " + DateTime.Now.ToString("yyyy-MM-dd HH:mm"),
                        period              = "MONTHLY",
                        reference           = "PTESTE-" + DateTime.Now.ToString("yyyy-MM-dd HH:mm"),
                        trialPeriodDuration = null
                    },
                    maxUses   = null,
                    reviewURL = null
                };


                var ret = apic.RegisterRecurrencePlan(plan, out string plancode, out RestTrace restTrace);

                if (ret != null)
                {
                    Console.WriteLine("ERRO:" + ret);
                }
                else
                {
                    Console.WriteLine("codigo:" + plancode);
                }
            }
            else if (mnu == new ConsoleKeyInfo('3', ConsoleKey.D3, false, false, false))
            {
                Console.WriteLine("informe o pre-approval");
                var code = Console.ReadLine();
                var ret  = apic.GetPaymentOrders(code, out PaymentOrdersResponse orders, out RestTrace restTrace);

                if (ret != null)
                {
                    Console.WriteLine("ERRO:" + ret);
                }
                else
                {
                    Console.WriteLine(orders.JSONString(true));
                }
            }
            else if (mnu == new ConsoleKeyInfo('4', ConsoleKey.D4, false, false, false))
            {
                Console.WriteLine("informe o código da transacao");
                var code = Console.ReadLine();
                var ret  = apic.CheckTransaction(code, out transaction tran, out RestTrace restTrace);

                if (ret != null)
                {
                    Console.WriteLine("ERRO:" + ret);
                }
                else
                {
                    Console.WriteLine(tran.JSONString(true));
                }
            }
            else if (mnu == new ConsoleKeyInfo('5', ConsoleKey.D5, false, false, false))
            {
                Console.WriteLine("informe o pre-approval");
                var code = Console.ReadLine();
                var ret  = apic.GetSubscription(code, out PreapprovalResponse data, out RestTrace restTrace);

                if (ret != null)
                {
                    Console.WriteLine("ERRO:" + ret);
                }
                else
                {
                    Console.WriteLine(data.JSONString(true));
                }
            }
            else if (mnu == new ConsoleKeyInfo('6', ConsoleKey.D6, false, false, false))
            {
                Console.WriteLine("informe o pre-approval");
                var code = Console.ReadLine();

                Console.WriteLine("informe o payorder");
                var codepay = Console.ReadLine();

                var retrydata = new PreApprovalChangeMethod()
                {
                    type   = "CREDITCARD",
                    sender = new Sender()
                    {
                        ip   = "77.54.97.39",
                        hash = null
                    },
                    creditCard = JsonConvert.DeserializeObject <Creditcard>("{ \"token\": \"04af49e838d34c25b8f8a41c61254db5\", " +
                                                                            "\"holder\": { \"name\": \"MARCIO MADUREIRA\", \"birthDate\": \"12/07/1971\", " +
                                                                            "\"documents\": [ { \"type\": \"CPF\", \"value\": \"01198447702\" } ], " +
                                                                            "\"billingAddress\": { \"street\": \"Avenida Rio Branco\", \"number\": \"110\", \"complement\": \"33 andar\", \"district\": \"Centro\", \"city\": \"Rio de Janeiro\", \"state\": \"RJ\", \"country\": \"BRA\", \"postalCode\": \"20040001\" }, " +
                                                                            "\"phone\": { \"areaCode\": \"21\", \"number\": \"988766686\" } " +
                                                                            "}" +
                                                                            "}")
                };

                var ret = apic.RetryPayment(code, codepay, retrydata, out RestTrace restTrace);

                if (ret != null)
                {
                    Console.WriteLine("ERRO:" + ret + restTrace.JSONString(true));
                }
                else
                {
                    Console.WriteLine("SUCESSO.");
                }
            }
            Console.ReadLine();
        }