static void Test5() { string fileName = "20200729_B2B_Resp.txt"; B2B.B2BRequest myReq = new B2BRequest("техническая жидкость"); File.WriteAllText(fileName, myReq.GetResponse); //string testStr = myReq.GetResponse; B2BResponse myResp = new B2BResponse(myReq); }
public async Task <Object> ProcessTransaction1(B2BRequest mpesaRequest, string token) { HttpClient client = new HttpClient(); client.DefaultRequestHeaders.Clear(); client.BaseAddress = new Uri("https://sandbox.safaricom.co.ke"); client.DefaultRequestHeaders.Add("Authorization", $"Bearer {token}"); var json = JsonConvert.SerializeObject(mpesaRequest); var httpContent = new StringContent(json, Encoding.UTF8, "application/json"); var resWithToken = client.PostAsync("/mpesa/b2b/v1/paymentrequest", httpContent).Result; stringData = resWithToken.Content.ReadAsStringAsync().Result; // return JsonConvert.DeserializeObject<Response>(stringData); var response = JsonConvert.DeserializeObject <B2BResponse>(stringData); return(response); }
public async Task <IActionResult> B2BpaymentRequest() { B2BRequest b2BRequest = new B2BRequest { Amount = "10", PartyA = "600214", SenderIdentifier = "4", PartyB = "600214", RecieverIdentifierType = "4", Remarks = "Test", Initiator = "testapi", Password = "******", QueueTimeOutURL = "https://testurl.co.ke", ResultURL = "https://testurl.co.ke", AccountReference = "YU9783D98D" }; Mpesa mpesa = new Mpesa(); var response = await mpesa.B2BAsync(_options.ConsumerKey, _options.ConsumerSecret, b2BRequest); return(Json(response)); }
public override Task <bool> Event(Channel channel, object model, BasicDeliverEventArgs ea, InputVariables input, OutputVariables output) { var idString = Encoding.UTF8.GetString((byte[])ea.BasicProperties.Headers["id"]); // Вытаскиваем инфу в заголовках? var id = Guid.Parse(idString); //logger.Error("Пишем лог логики модуля"); //loggerResponse.Error("Пишем лог респонса"); // loggerResponse.Error($"{JsonConvert.SerializeObject(input)}"); var data = new Dictionary <string, string> { { StructureType.LoginId, input.LoginId }, { StructureType.Password, input.Password }, { StructureType.VIN, input.VIN } }; var b2bParams = getB2bParameters(data); var request = new B2BRequest() { parameter = b2bParams.ToArray() }; B2BResponse response = null; try { response = audaHistoryServices.History(request); } catch (WebException we) { if (false) //TODO: Обработка ошибок (недостаточно данных для реализации) { logger.Error($"Error"); return(Task.FromResult(true)); } else { throw we; } } if (response == null || response.text == null) { logger.Error($"{id} | Некорректный response. {JsonConvert.SerializeObject(response)}"); return(Task.FromResult(true)); } output.Response = response.message; // Если требуется повторить задание if (false) { return(Task.FromResult(false)); } // Можно создать задачу для другого модуля if (false) { channel.Props.Add("id", Encoding.UTF8.GetBytes(Guid.NewGuid().ToString())); channel.Publish(Exchanges.TestExchange, RabbitSettings.TestExchange.Routing.Test); } return(Task.FromResult(true)); }
public async Task <string[]> B2BAsync(string consumerKey, string consumersecret, B2BRequest b2BRequest, bool isSandbox = true) { ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; b2BRequest.SecurityCredential = Encryption(b2BRequest.Password); b2BRequest.CommandID = "BusinessToBusinessTransfer"; JObject jObject = JObject.FromObject(b2BRequest); string auth = Authenticate(consumerKey, consumersecret, isSandbox); string baseUrl = getBaseUrl(isSandbox); return(await SendApiRequestAsync(auth, baseUrl, "mpesa/b2b/v1/paymentrequest", jObject)); }
public B2BResponse FindExternal(B2BRequest request) { return(client.findExternal(request)); }
public B2BResponse History(B2BRequest request) { return(client.getHistory(request)); }