Beispiel #1
0
        public bool Send(string number)
        {
            Number = number;
            var accountSid = "AC9cf7e06038b71632ddfa89adfc6f7979";
            var authToken  = "ef8e9d76f384c05b47f5831a8e594aa4";

            var randomCode = RandomCodeGenerationService.Generate(4);

            TwilioClient.Init(accountSid, authToken);

            var message = MessageResource.Create(
                body: $"Your 4-digits code is: {randomCode} ",
                //from: new Twilio.Types.PhoneNumber("+19287702279"),
                from: new Twilio.Types.PhoneNumber("+16516153710"),
                to: new Twilio.Types.PhoneNumber($"+{Number}")
                );

            var SendedUserCode = "";

            Console.WriteLine("Enter your 4-digits code: ");

            SendedUserCode = Console.ReadLine();
            if (SendedUserCode == randomCode)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        public bool Purchase(decimal price)
        {
            try
            {
                var client = BillPaymentsClientFactory.Create(
                    secretKey: "eyJ2ZXJzaW9uIjoiUDJQIiwiZGF0YSI6eyJwYXlpbl9tZXJjaGFudF9zaXRlX3VpZCI6InJpMmQ3ai0wMCIsInVzZXJfaWQiOiI3NzcxODM2NTkxOCIsInNlY3JldCI6IjQ2MzhkNjg4ODEzZTY1MjkwNWQ4YjMxNzI1N2I5ODUyNWI0NjE2ODAxMTE3NzYwMzQ1YmI1MWE3M2U2OWFmOWUifX0="
                    );
                var invoice = client.CreateBill(
                    info: new CreateBillInfo
                {
                    BillId = RandomCodeGenerationService.Generate(10),
                    Amount = new MoneyAmount
                    {
                        //Это тестовое значение суммы, для тестового режима
                        ValueDecimal = 1m,
                        CurrencyEnum = CurrencyEnum.Rub
                    },
                    Comment            = $"Вам выставлен счет на сумму {price} рублей. С уважением, Онлайн-Магазин Meloman",
                    ExpirationDateTime = DateTime.Now.AddHours(3)
                }
                    );

                //Открываю форму оплаты в браузере по умолчанию (Я чет не могу затестить, т.к. на свой кошелек невозможно переводить.
                //Там было написано, что установите значение в 1 рубль для тестов. Можем вместе протестить это позже
                var invoiceURL = invoice.PayUrl.AbsoluteUri;
                invoiceURL = invoiceURL.Replace("&", "^&");
                Process.Start(new ProcessStartInfo("cmd", $"/c start {invoiceURL}")
                {
                    CreateNoWindow = true
                });

                while (invoice.Status.ValueString == "WAITING" || invoice.Status.ValueString == "PAID")
                {
                    if (invoice.Status.ValueString == "PAID")
                    {
                        return(true);
                    }
                    else if (invoice.Status.ValueString == "WAITING")
                    {
                        Console.Clear();
                        Console.WriteLine("Ваш заказ обрабатывается, пожалуйста подождите...");
                        System.Threading.Thread.Sleep(10000);
                        continue;
                    }
                    else
                    {
                        client.CancelBill(invoice.BillId);
                        return(false);
                    };
                }
            }
            catch (AggregateException aggregateException)
            {
                var exception = aggregateException.GetBaseException();
                Console.WriteLine(exception.Message);
            }
            return(false);
        }
        public bool Send(string number)
        {
            var smsc       = new SMSC();
            var randomCode = RandomCodeGenerationService.Generate(4);

            smsc.send_sms(number, randomCode);

            var SendedUserCode = "";

            Console.WriteLine("Введите 4-х значный код из смс: ");

            SendedUserCode = Console.ReadLine();
            if (SendedUserCode == randomCode)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }