public async Task <AirtimeResponseModel> SendAirtme(AirtimeRequestModel requestObject) { AirtimeResponseModel responseModel = new AirtimeResponseModel(); string baseUrl = "https://sandboxapi.fsi.ng"; string sendAirtime = "/atlabs/airtime/send"; string url = baseUrl + sendAirtime; string contentType = "application/json"; using (var client = new HttpClient()) { client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Add("Sandbox-Key", "6fee89c336c046c4f0473d004906e3a7"); client.DefaultRequestHeaders .Accept .Add(new MediaTypeWithQualityHeaderValue("application/json")); //ACCEPT header client.DefaultRequestHeaders.Add("Accept", contentType); var data = new StringContent(JsonConvert.SerializeObject(requestObject)); var response = await client.PostAsync(url, data); string result = response.Content.ReadAsStringAsync().Result; responseModel = JsonConvert.DeserializeObject <AirtimeResponseModel>(result); return(responseModel); } }
public async Task <JsonResult> SendAirtime(AirtimeRecipient request) { var result = new AirtimeResponseModel(); try { ApiCalls api = new ApiCalls(); var requestObject = new AirtimeRequestModel(); var recipient = new AirtimeRecipient(); var recipients = new List <AirtimeRecipient>(); recipient.amount = request.amount; recipient.currencyCode = "NGN"; recipient.phoneNumber = request.phoneNumber; requestObject.recipients = new List <AirtimeRecipient>(); requestObject.recipients.Add(recipient); result = await api.SendAirtme(requestObject); if (result != null) { SmsRequest smsRequest = new SmsRequest(); smsRequest.to = request.phoneNumber; smsRequest.from = "FSI"; smsRequest.message = $"Your recharge of {request.amount} airtime is successful"; var resp = api.SendSms(smsRequest); } } catch (Exception ex) { throw; } return(Json(result, JsonRequestBehavior.AllowGet)); }