public YandexMoneyClient(GenericXmlSerializer xmlSerializer, PKCS7Coder pkcs7coder, PemPacker pemPacker, Uri baseUri, WebRequestHandler handler) : base(handler) { this.xmlSerializer = xmlSerializer; this.pkcs7coder = pkcs7coder; this.pemPacker = pemPacker; this.baseUri = baseUri; }
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(); } }