示例#1
0
        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);
            }
        }
示例#2
0
        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));
        }