Beispiel #1
0
        public CheckDepositionPointsResponse CheckDepositionPointsRequest(CheckDepositionPointsRequest checkDepositionPointsRequest)
        {
            var makeUri    = new Uri(@"/webservice/deposition/api/checkDepositionPoints", UriKind.Relative);
            var xmlRequest = xmlSerializer.Serialize(checkDepositionPointsRequest);
            var response   = Request <CheckDepositionPointsRequest>(xmlRequest, makeUri);

            return(xmlSerializer.Deserialize <CheckDepositionPointsResponse>(response));
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            try
            {
                var    certificatePath = args[0];
                var    password        = args[1];
                var    uriStr          = args[2];
                var    agentId         = args[3];
                var    command         = args[4];
                var    tablePath       = args[5];
                string requestId       = "";
                if (args.Length > 6)
                {
                    requestId = args[6];
                }
                var xmlSerializer = new GenericXmlSerializer();
                var pemPacker     = new PemPacker();


                var certificate = new X509Certificate2(certificatePath, password);
                var pkcs7Coder  = new PKCS7Coder(certificate);

                var uri     = new Uri(uriStr);
                var handler = new WebRequestHandler();
                handler.ClientCertificates.Add(certificate);

                using (var client = new YandexMoneyClient(xmlSerializer, pkcs7Coder, pemPacker, uri, handler))
                {
                    //var response = client.TestDepositionRequest(new TestDepositionRequest()
                    //{
                    //    AgentId = 203598,
                    //    DstAccount = "410019806982007",
                    //    Amount = "10.00",
                    //    ClientOrderId = Guid.NewGuid().ToString(),
                    //    DepositionPointId = "29",
                    //    Currency = "643",
                    //    Contract = "Зачисление на кошелек",
                    //    RequestDT = DateTime.Now
                    //});
                    //Console.WriteLine(response.Error);
                    //Console.WriteLine(response.Identification);
                    //Console.WriteLine(response.Status);
                    //Console.WriteLine(response.TechMessage);
                    //Console.ReadLine();

                    if (command == "check")
                    {
                        var checkDepositionPointRequest = new CheckDepositionPointsRequest()
                        {
                            AgentId   = long.Parse(agentId),
                            RequestId = requestId
                        };
                        var result = client.CheckDepositionPointsRequest(checkDepositionPointRequest);
                        Console.WriteLine(result.Status);
                        Console.WriteLine(result.RequestId);
                        if (result.Error != null)
                        {
                            Console.WriteLine(result.Error.Code);
                            Console.WriteLine(result.Error.PointId);
                        }
                        Console.WriteLine();
                        foreach (var item in result.Items)
                        {
                            Console.WriteLine($"{item.Id} {item.Reason} {item.Status}");
                        }
                    }
                    else if (command == "add")
                    {
                        var parser = new AddressParser();
                        var wb     = new XSSFWorkbook(tablePath);
                        var sheet  = wb.GetSheetAt(0);

                        var addDepositionPointRequest = new AddDepositionPointsRequest()
                        {
                            AgentId   = long.Parse(agentId),
                            RequestId = Guid.NewGuid().ToString(),
                            Points    = new DepositionPoint[134]
                        };

                        for (int i = 0; i != 134; i++)
                        {
                            var row = sheet.GetRow(i + 1);
                            if (row != null)
                            {
                                var depositionPoint = new DepositionPoint()
                                {
                                    Id       = (int)row.GetCell(1).NumericCellValue,
                                    Type     = "atm",
                                    Address  = parser.Parse(row.GetCell(6).StringCellValue),
                                    Subagent = false
                                };
                                addDepositionPointRequest.Points[i] = depositionPoint;
                            }
                        }

                        File.WriteAllText(@"C:\Users\it014\Desktop\request.txt", UTF8Encoding.UTF8.GetString(xmlSerializer.Serialize <AddDepositionPointsRequest>(addDepositionPointRequest)));
                        Console.ReadLine();
                        var result = client.AddDepositionPointsRequest(addDepositionPointRequest);
                        File.AppendAllText("log.txt", result.RequestId + "\r\n");
                        Console.WriteLine(result.RequestId);
                        Console.WriteLine(result.Status);
                        if (result.Error != null)
                        {
                            Console.WriteLine(result.Error.Code);
                            Console.WriteLine(result.Error.PointId);
                        }
                    }
                    else if (command == "balance")
                    {
                        var balnceRequest = new BalanceRequest()
                        {
                            AgentId       = long.Parse(agentId),
                            ClientOrderId = Guid.NewGuid().ToString(),
                            RequestDT     = DateTime.Now
                        };
                        var result = client.BalanceRequest(balnceRequest);
                        Console.WriteLine(result.Balance);
                        Console.WriteLine(result.ClientOrderId);
                        Console.WriteLine(result.ProcessedDt);
                        Console.WriteLine(result.Status);
                        Console.WriteLine(result.Error);
                    }
                    Console.ReadLine();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.GetType().FullName);
                Console.WriteLine(e.Message);
                Console.WriteLine(e.StackTrace);
                Console.WriteLine(e.HResult);
                Console.ReadLine();
            }
        }