public async Task <IActionResult> StkPushQuery() { ExpressQueryRequest queryRequest = new ExpressQueryRequest { BusinessShortCode = _options.ShortCode, Password = _options.PassKey, CheckoutRequestID = "ws_CO_DMZ_76690535_14092018152240763" }; Mpesa mpesa = new Mpesa(); var response = await mpesa.StkPushQueryAsync(_options.ConsumerKey, _options.ConsumerSecret, queryRequest); return(Json(response)); }
public async Task <string[]> StkPushQueryAsync(string consumerKey, string consumersecret, ExpressQueryRequest queryRequest, bool isSandbox = true) { ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; queryRequest.TimeStamp = DateTime.Now.ToString("yyyyMMddHHmmss"); queryRequest.Password = base64Encode(queryRequest.BusinessShortCode + queryRequest.Password + queryRequest.TimeStamp); JObject jObject = JObject.FromObject(queryRequest); string auth = Authenticate(consumerKey, consumersecret, isSandbox); string baseUrl = getBaseUrl(isSandbox); return(await SendExpressRequestAsync(auth, baseUrl, "mpesa/stkpushquery/v1/query", jObject)); }