public static async Task <string> SendEmailAttachment(Transaksi trx, Config config) { string myLink = config.Read("LINK", Config.PARAM_SERVICES_LINK); string myUrl = myLink + "notif/emailattachment"; if (!RegexUtilities.IsValidEmail(trx.emailNasabah)) { return("Format Email Tidak Valid"); } EmailData emaildata = new EmailData { emailNasabah = trx.emailNasabah, jenisTransaksi = trx.pilihanLayanan[trx.jenisLayanan], namaNasabah = trx.namaNasabah, noRekening = trx._AccountNumber2, statusTransaksi = trx.statusLayanan, lampiran = trx.emailAttachment, path = trx.attachmentPath, }; var _jsonSerializerOptions = new JsonSerializerOptions { WriteIndented = true, }; var content = new StringContent( JsonSerializer.Serialize(emaildata, _jsonSerializerOptions), Encoding.UTF8, "application/json"); return(await CallAPI(myUrl, content, "POST")); }
public static async Task <string> SendEmail(Transaksi trx, Config config) { string ret = string.Empty; try { string myLink = config.Read("LINK", Config.PARAM_SERVICES_LINK); string myPath = config.Read("LINK", Config.PARAM_SERVICES_EMAIL); string myUrl = myLink + myPath; if (!RegexUtilities.IsValidEmail(trx.emailNasabah)) { return("Format Email Tidak Valid"); } EmailData emaildata = new EmailData(); emaildata.emailNasabah = trx.emailNasabah; emaildata.jenisTransaksi = trx.pilihanLayanan[trx.jenisLayanan]; emaildata.namaNasabah = trx.namaNasabah; emaildata.noRekening = trx._AccountNumber; emaildata.statusTransaksi = trx.statusLayanan; emaildata.lampiran = trx.emailAttachment; using (var handler = new HttpClientHandler()) { handler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return(true); }; using (HttpClient client = new HttpClient(handler)) { //----------------Prepared to send Transaction Log-----------------// var _jsonSerializerOptions = new JsonSerializerOptions { WriteIndented = true }; var content = new StringContent( JsonSerializer.Serialize(emaildata, _jsonSerializerOptions), Encoding.UTF8, "application/json"); var response = await client.PostAsync(myUrl, content); if (response != null) { if (response.IsSuccessStatusCode || response.StatusCode.ToString() == "BadRequest" || response.StatusCode.ToString() == "InternalServerError") { var jsonStringResult = await response.Content.ReadAsStringAsync(); return(jsonStringResult); } else { return(response.StatusCode.ToString()); } } } } } catch (HttpRequestException e) { Console.WriteLine(e.InnerException.Message); } return(ret); }
public static async Task <string> SendEmailReport(Transaksi trx, Config config) { //string error; //string errorcode; //string errormessage; //try //{ string myLink = config.Read("LINK", Config.PARAM_SERVICES_REPORT); string myUrl = myLink + "notif/emailreport"; //if (!RegexUtilities.IsValidEmail(trx.emailNasabah)) //{ // return "Format Email Tidak Valid"; //} EmailData emaildata = new EmailData { emailNasabah = "", jenisTransaksi = "Attachement Report", namaNasabah = "", noRekening = "0", statusTransaksi = "Sukses", lampiran = trx.reportAttachment, path = trx.reportPath, }; var _jsonSerializerOptions = new JsonSerializerOptions { WriteIndented = true, }; var content = new StringContent( JsonSerializer.Serialize(emaildata, _jsonSerializerOptions), Encoding.UTF8, "application/json"); return(await CallAPI(myUrl, content, "POST")); //} //catch(Exception ex) //{ // //tambahan // errorcode = "ReportError"; // errormessage = "SendDataReportError"; // error = ex.Message; // //return; // trx.reportStatus = "FAILED"; // return errormessage; //} }
public static async Task <string> InquiryNotification(Transaksi trx, Config config) { string ret = string.Empty; string myLink = config.Read("LINK", Config.PARAM_SERVICES_LINK); string myPath = config.Read("LINK", Config.PARAM_SERVICES_INQUIRY_NOTIFICATION); string myUrl = myLink + myPath; InquiryData logdata = new InquiryData { noRekening = trx._AccountNumber, }; var _jsonSerializerOptions = new JsonSerializerOptions { WriteIndented = true, }; var content = new StringContent( JsonSerializer.Serialize(logdata, _jsonSerializerOptions), Encoding.UTF8, "application/json"); return(await CallAPI(myUrl, content, "POST")); }
public static async Task AuditTrail() { Config config = new Config(); Transaksi trx = new Transaksi(); string _myURL = config.Read("LINK", Config.PARAM_SERVICES_LINK); string saveURL = config.Read("LINK", Config.PARAM_SERVICES_SAVE); //trans.endTime = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); string auditTrail = string.Empty; int stepTrail = 1; auditTrail = auditTrail + "[ "; foreach (dynamic at in trx._auditTrail) { auditTrail = auditTrail + "{ \"step\" : \"" + stepTrail + "\"," + "\"action\" : \"" + at._action + "\"," + "\"data\" : \"" + at._data + "\"," + "\"result\" : \"" + at._result + "\"" + "},"; stepTrail += 1; } auditTrail = auditTrail.Remove(auditTrail.Length - 1); string myJson2 = "{ \"transaction\" : " + "{ \"transactionId\" : \"" + trx._TransaksiID + "\"," + "\"terminalId\" : \"" + trx._TerminalID + "\"," + "\"transactionType\" : \"" + trx._JenisTransaksi + "\"," + "\"startTime\" : \"" + trx.startTime.ToString() + "\"," + "\"endTime\" : \"" + trx.endTime.ToString() + "\"," + "\"status\" : \"" + trx._StatusTransaksi + "\"," + "\"description\" : \"" + trx._ErrorCode + "\"," + "}, \"auditTrail\" : " + auditTrail + "]}"; string myURL2 = _myURL + saveURL; //OurUtility.Write_Log("== Request API : " + myJson2, "step-action"); string strResult2 = await HitServices.PostCallAPI(myURL2, myJson2); //OurUtility.Write_Log("== Response API : " + strResult2, "step-action"); }
public static async Task <string> SendSms(Transaksi trx, Config config) { string myLink = config.Read("LINK", Config.PARAM_SERVICES_LINK); string myPath = config.Read("LINK", Config.PARAM_SERVICES_SMS); string myUrl = myLink + myPath; SmsData smsdata = new SmsData { jenisTransaksi = trx.pilihanLayanan[trx.jenisLayanan], namaNasabah = trx.namaNasabah, noRekening = trx._AccountNumber2, msisdn = trx.MSISDN, statusTransaksi = trx.statusLayanan, }; var _jsonSerializerOptions = new JsonSerializerOptions { WriteIndented = true, }; var content = new StringContent( JsonSerializer.Serialize(smsdata, _jsonSerializerOptions), Encoding.UTF8, "application/json"); return(await CallAPI(myUrl, content, "POST")); }
public static async Task <string> SendLog(Transaksi trx, Config config, string errorMessage) { string myLink = config.Read("LINK", Config.PARAM_SERVICES_LINK); string myPath = config.Read("LINK", Config.PARAM_SERVICES_LOG); string myUrl = myLink + myPath; LogData logdata = new LogData { jenisTransaksi = trx.pilihanLayanan[trx.jenisLayanan], kodeTransaksi = trx.kodeLayanan[trx.jenisLayanan], idTransaksi = config.Read("LINK", Config.PARAM_DEVICE_TERMINAL_ID) + DateTime.Now.ToString("ddMMyyyyHHmmss"), namaNasabah = trx.namaNasabah, noKartu = trx.nomerKartu.Substring(0, 12) + "****", noSeriPassbook = trx._BukuSerial, saldoBuku = trx._BukuSaldo, lineInput = trx._BukuBaris, startDate = trx.startDate, endDate = trx.endDate, idxMonth = trx.periodMonth, tglTransaksi = DateTime.Now.AddHours(-7).ToString("s"), noRekening = trx._AccountNumber, statusTransaksi = trx.statusLayanan, smsNotif = trx.smsNotif, emailNotif = trx.emailNotif, errorMessage = errorMessage, externalId = trx.externalID, }; var _jsonSerializerOptions = new JsonSerializerOptions { WriteIndented = true }; var content = new StringContent( JsonSerializer.Serialize(logdata, _jsonSerializerOptions), Encoding.UTF8, "application/json"); return(await CallAPI(myUrl, content, "POST")); }
public static async Task <string> SendLog(Transaksi trx, Config config, string errorMessage) { string ret = string.Empty; try { string myLink = config.Read("LINK", Config.PARAM_SERVICES_LINK); string myPath = config.Read("LINK", Config.PARAM_SERVICES_LOG); string myUrl = myLink + myPath; LogData logdata = new LogData(); logdata.jenisTransaksi = trx.pilihanLayanan[trx.jenisLayanan]; logdata.kodeTransaksi = trx.kodeLayanan[trx.jenisLayanan]; logdata.idTransaksi = trx._TransaksiID; logdata.namaNasabah = trx.namaNasabah; logdata.noKartu = trx.nomerKartu.Substring(0, 12) + "****"; logdata.noSeriPassbook = trx._BukuSerial; logdata.saldoBuku = trx._BukuSaldo; logdata.lineInput = trx._BukuBaris; logdata.startDate = trx.startDate; logdata.endDate = trx.endDate; logdata.idxMonth = trx.periodMonth; logdata.tglTransaksi = DateTime.Now.ToString("s"); logdata.noRekening = trx._AccountNumber; logdata.statusTransaksi = trx.statusLayanan; logdata.smsNotif = trx.smsNotif; logdata.emailNotif = trx.emailNotif; logdata.errorMessage = errorMessage; logdata.externalId = trx.externalID; using (var handler = new HttpClientHandler()) { handler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return(true); }; using (HttpClient client = new HttpClient(handler)) { var _jsonSerializerOptions = new JsonSerializerOptions { WriteIndented = true }; var content = new StringContent( JsonSerializer.Serialize(logdata, _jsonSerializerOptions), Encoding.UTF8, "application/json"); var response = await client.PostAsync(myUrl, content); //----------------Prepared to send Transaction Log-----------------// if (response != null) { if (response.IsSuccessStatusCode || response.StatusCode.ToString() == "BadRequest" || response.StatusCode.ToString() == "InternalServerError") { var jsonStringResult = await response.Content.ReadAsStringAsync(); return(jsonStringResult); } else { return(response.StatusCode.ToString()); } } } } } catch (HttpRequestException e) { Console.WriteLine(e.InnerException.Message); } return(ret); }