public async Task BuyAirtime(AirtimePurchaseDto input) { var estelClient = new EstelServicesClient(); //var balanceRequest = new BalanceRequest(); //balanceRequest.agentCode = "TPR_AAL_1"; //balanceRequest.mpin = "14287490BC5A9662D60DFCD3333F723B"; var topupRequest = new TopupRequest(); topupRequest.agentCode = _configuration.GetSection("OneCardProperties").GetValue <string>("AgentCode");// "TPR_AAL_1"; topupRequest.mpin = _configuration.GetSection("OneCardProperties").GetValue <string>("AgentPin"); topupRequest.destination = input.PhoneNumber; topupRequest.mobilenumber = input.PhoneNumber; topupRequest.amount = input.Amount.ToString(); topupRequest.agenttransid = "34634733654774334"; topupRequest.productCode = input.AirtimeNetwork; topupRequest.type = "TOPUP"; var topupResponseAsync = await estelClient.getTopupAsync(topupRequest); var topupResponse = topupResponseAsync.Body.getTopupReturn; Logger.Info($"Topup response result code: {topupResponse.resultcode}"); Logger.Info($"Result description: {topupResponse.resultdescription}"); //var fundsTransferRequest = new FundsTransferRequest(); //fundsTransferRequest.agentCode = "TPR_AAL_1"; //fundsTransferRequest.mpin = "14287490BC5A9662D60DFCD3333F723B"; //fundsTransferRequest.amount = "1000"; //fundsTransferRequest.destination = "9201876211"; //fundsTransferRequest.agenttransid = "34634733654774334"; //fundsTransferRequest.mobilenumber = "08032808912"; //fundsTransferRequest.productCode = "SIBTC"; //var fundsTransferResponse = await estelClient.getFundsTransferAsync(fundsTransferRequest); //Logger.Info($"fundstranfer response: {JsonConvert.SerializeObject(fundsTransferResponse.Body)}"); }
public async Task TransferMoneyToBankAccount(string amount, string productCode, string accountNumber, string phoneNumber) { var estelClient = new EstelServicesClient(); Logger.Info("amount to transfer: " + amount); var fundsTransferRequest = new FundsTransferRequest(); fundsTransferRequest.amount = amount; fundsTransferRequest.mpin = "7F1359753577B274D717DC2E41BA1E51"; fundsTransferRequest.agentCode = "APEX_PINRDM"; fundsTransferRequest.destination = accountNumber; fundsTransferRequest.mobilenumber = phoneNumber; fundsTransferRequest.productCode = productCode; var fundsTransferResponse = (await estelClient.getFundsTransferAsync(fundsTransferRequest)).Body.getFundsTransferReturn; switch (fundsTransferResponse.resultcode) { case "0": Logger.Info("destination: " + fundsTransferResponse.destination); Logger.Info("bank code: " + fundsTransferResponse.productcode); Logger.Info("reason: " + fundsTransferResponse.reason); Logger.Info("result code: " + fundsTransferResponse.resultcode); Logger.Info("description: " + fundsTransferResponse.resultdescription); break; default: Logger.Info("destination: " + fundsTransferResponse.destination); Logger.Info("bank code: " + fundsTransferResponse.productcode); Logger.Info("reason: " + fundsTransferResponse.reason); Logger.Info("result code: " + fundsTransferResponse.resultcode); Logger.Info("description: " + fundsTransferResponse.resultdescription); throw new MoneyTransferException("Error completing request"); } }