protected void Button1_Click(object sender, EventArgs e) { string result; long orderid;//= new bmp_PaymentBusiness().GenerateOrderId(); SetDefaultDateTime(); bmp_PaymentBusiness bmp = new bmp_PaymentBusiness(); PaymentGatewayImplService bpService = new PaymentGatewayImplService(); result = bmp.pay(1000, "99900999", out orderid, 0, 0); String[] resultArray = result.Split(','); string[] ReqIdArray = Session["ReqID"].ToString().Split(new char[] { ',' }); string[] PayID = Session["PayID"].ToString().Split(new char[] { ',' }); Session["ReqID"] = null; Session["PayID"] = null; if (resultArray[0] == "0") { ClientScript.RegisterStartupScript(typeof(Page), "ClientScript", "<script language='javascript' type='text/javascript'> postRefId('" + resultArray[1] + "');</script> ", false); } }
public KeyValuePair <string, string> bpVerifyRequest(long saleOrderId, long saleReferenceId, string refId, long userId) { userId = 0;//این باید طبق قوانین به پرداخت صفر باشد! long payId = 0; string response1 = ""; string response2 = ""; try { PaymentGatewayImplService bpService = new PaymentGatewayImplService(); response1 = bpService.bpVerifyRequest(OtherId, behpardakht_username, behpardakht_password, payId, saleOrderId, saleReferenceId); if (response1 == "0" || response1 == "43") { try { response2 = bpSettleRequest(saleOrderId, saleReferenceId, refId, userId); return(new KeyValuePair <string, string>(response2, ResCodeFarsi(response2))); } catch { return(errorCode4);//خطای سیستمی } } else if (string.IsNullOrEmpty(response1)) { try { response2 = bpInqiryRequest(saleOrderId, saleReferenceId, refId, userId); return(new KeyValuePair <string, string>(response2, ResCodeFarsi(response2))); } catch { return(errorCode4);//خطای سیستمی } } else { return(new KeyValuePair <string, string>(response1, ResCodeFarsi(response1))); } } catch { return(errorCode4);//خطای سیستمی } }
public string VerifyPayment(PaymentDTO pay) { string result; bmp.BypassCertificateError(); PaymentGatewayImplService bpService = new PaymentGatewayImplService(); result = bpService.bpVerifyRequest(Int64.Parse(ConfigurationManager.AppSettings["Mellat_TerminalId"]), ConfigurationManager.AppSettings["UserName"], ConfigurationManager.AppSettings["UserPassword"], pay.OrderId, pay.OrderId, pay.TraceNumber); return(result); }
private bool InquiryTransaction(string reference_number, string res_num) { ir.shaparak.bpm.PaymentGatewayImplService bmService = new PaymentGatewayImplService(); string strStatCode = bmService.bpInquiryRequest(_mellatBankPaymentSettings.TerminalId, _mellatBankPaymentSettings.Username, _mellatBankPaymentSettings.Password, Convert.ToInt64(res_num), Convert.ToInt64(res_num), Convert.ToInt64(reference_number)); if (strStatCode.Trim() == "0") { // transaction verified return(true); } else { return(false); } }
/// <summary> /// استارت ارتباط با یانک /// </summary> /// <param name="amount"></param> /// <param name="payDate"></param> /// <param name="time"></param> /// <param name="additionalInfo"></param> /// <param name="payerId"></param> /// <returns>اگر اکی باشد، خروجی RefCode خواهد بود /// وگرنه خروجی Null خواهد بود که نشان دهنده رخ دادن خطا است</returns> public KeyValuePair <string, string> bpPayRequest(long amount, DateTime payDate, TimeSpan time, string additionalInfo, long payId, string userIP, int?payType) { long payerId = 0;//این باید طبق قوانین به پرداخت صفر باشد! payId = 0; KeyValuePair <string, string> result; try { //گرفتن رکورد پرداخت قبل از تایید پرداخت //PaysClass payClass = new PaysClass(); // payId = payClass.Add(amount, payerId, DateTime.Now, additionalInfo, behpardakhtSystem.SystemId, userIP,payType:payType); PaymentGatewayImplService bpService = new PaymentGatewayImplService(); //ارسال درخواست اتصال به بانک var response = bpService.bpPayRequest(OtherId, behpardakht_username, behpardakht_password, payId, amount, payDate.Year.ToString() + payDate.Month.ToString().PadLeft(2, '0') + payDate.Day.ToString().PadLeft(2, '0'), payDate.Hour.ToString().PadLeft(2, '0') + payDate.Minute.ToString().PadLeft(2, '0') + payDate.Second.ToString().PadLeft(2, '0'), additionalInfo, callbackurl, payerId); String[] resultArray = response.Split(','); if (resultArray[0] == "0") { result = new KeyValuePair <string, string>(resultArray[0], resultArray[1]); RunPostScript(resultArray[1]); return(result); } else if (string.IsNullOrEmpty(response)) { return(errorCode3); } else { result = new KeyValuePair <string, string>(resultArray[0], ResCodeFarsi(resultArray[0])); return(result); } } catch (Exception ex) { throw ex; } }
private string bpInqiryRequest(long saleOrderId, long saleReferenceId, string refId, long userId) { userId = 0;//این باید طبق قوانین به پرداخت صفر باشد! string response1 = "", response2 = ""; long payId = 0; PaymentGatewayImplService bpService = new PaymentGatewayImplService(); try { //برداشت وجه از حساب response1 = bpService.bpInquiryRequest(OtherId, behpardakht_username, behpardakht_password, payId, saleOrderId, saleReferenceId); } catch { return("-999");//خطای سیستمی } if (response1 == "0" || response1 == "43") { response2 = bpSettleRequest(saleOrderId, saleReferenceId, refId, userId); return(response2); } else if (string.IsNullOrEmpty(response1)) { return("-901");//وصضعیت نامشخص } else { return(response1); } }
private string bpSettleRequest(long saleOrderId, long saleReferenceId, string refId, long userId) { userId = 0;//این باید طبق قوانین به پرداخت صفر باشد! string response = ""; long payId = 0; PaymentGatewayImplService bpService = new PaymentGatewayImplService(); try { //درخواست واریز وجه response = bpService.bpSettleRequest(OtherId, behpardakht_username, behpardakht_password, payId, saleOrderId, saleReferenceId); } catch { return("-999");//خطای سیستمی } if (response == "0" || response == "45") { return(response); } else if (string.IsNullOrEmpty(response)) { return("-901");//وضعیت نامشخص } else { return(response); } }
protected void btnPay_Click(object sender, EventArgs e) { try { string result; long orderid;// = new bmp_PaymentBusiness().GenerateOrderId(); PaymentDTO pay = new PaymentDTO(); bmp_PaymentBusiness bmp = new bmp_PaymentBusiness(); pay.Amount = Convert.ToInt64(Session["fee"].ToString()); //pay.PayDate = PayDate + "_" + PayTime; pay.stcode = Session[sessionNames.userID_StudentOstad].ToString(); pay.bankId = 2; pay.tterm = ConfigurationManager.AppSettings["Term"]; string additionalInfo = pay.stcode; PaymentGatewayImplService bpService = new PaymentGatewayImplService(); result = bmp.pay(pay.Amount, pay.stcode, out orderid, Convert.ToInt32(Session[sessionNames.appID_StudentOstad]), 0); pay.OrderId = orderid; Response.Write(result); String[] resultArray = result.Split(','); pay.ReqKey = resultArray[1]; pay.AppStatus = "none"; pay.TraceNumber = 0; pay.Result = -1; } catch (Exception) { // PayOutputLabel.Text = "Error: " + exp.Message; } }
public string PaymentStatusInquery(Int64 orderID, out int result) { result = -1; var pay = GetPaymentInfoByOrderID(orderID); PaymentGatewayImplService bpService = new PaymentGatewayImplService(); string resultInquery = ""; resultInquery = bpService.bpInquiryRequest(Int64.Parse(System.Configuration.ConfigurationManager.AppSettings["Mellat_TerminalId"]), System.Configuration.ConfigurationManager.AppSettings["UserName"], System.Configuration.ConfigurationManager.AppSettings["UserPassword"], pay.OrderId, pay.OrderId, pay.TraceNumber); string resultText = ""; if (Business.Common.CommonBusiness.IsNumeric(resultInquery)) { result = Convert.ToInt32(resultInquery); switch (result) { case 0: resultText = "تراكنش با موفقيت انجام شد"; break; case 11: resultText = "ﺷﻤﺎﺭﻩ ﻛﺎﺭﺕ ﻧﺎﻣﻌﺘﺒﺮ ﺍﺳﺖ "; break; case 12: resultText = "ﻣﻮﺟﻮﺩﻱ ﻛﺎﻓﻲ ﻧﻴﺴﺖ "; break; case 13: resultText = "ﺭﻣﺰ ﻧﺎﺩﺭﺳﺖ ﺍﺳﺖ "; break; case 14: resultText = "ﺗﻌﺪﺍﺩ ﺩﻓﻌﺎﺕ ﻭﺍﺭﺩ ﻛﺮﺩﻥ ﺭﻣﺰ ﺑﻴﺶ ﺍﺯ ﺣﺪ ﻣﺠﺎﺯ ﺍﺳﺖ "; break; case 15: resultText = "ﻛﺎﺭﺕ ﻧﺎﻣﻌﺘﺒﺮ ﺍﺳﺖ"; break; case 16: resultText = "ﺩﻓﻌﺎﺕ ﺑﺮﺩﺍﺷﺖ ﻭﺟﻪ ﺑﻴﺶ ﺍﺯ ﺣﺪ ﻣﺠﺎﺯ ﺍﺳﺖ"; break; case 17: resultText = "ﻛﺎﺭﺑﺮ ﺍﺯ ﺍﻧﺠﺎﻡ ﺗﺮﺍﻛﻨﺶ ﻣﻨﺼﺮﻑ ﺷﺪﻩ ﺍﺳﺖ "; break; case 18: resultText = "ﺗﺎﺭﻳﺦ ﺍﻧﻘﻀﺎﻱ ﻛﺎﺭﺕ ﮔﺬﺷﺘﻪ ﺍﺳﺖ"; break; case 19: resultText = "ﻣﺒﻠﻎ ﺑﺮﺩﺍﺷﺖ ﻭﺟﻪ ﺑﻴﺶ ﺍﺯ ﺣﺪ ﻣﺠﺎﺯ ﺍﺳﺖ"; break; case 111: resultText = "ﺻﺎﺩﺭ ﻛﻨﻨﺪﻩ ﻛﺎﺭﺕ ﻧﺎﻣﻌﺘﺒﺮ ﺍﺳﺖ"; break; case 112: resultText = "ﺧﻄﺎﻱ ﺳﻮﻳﻴﭻ ﺻﺎﺩﺭ ﻛﻨﻨﺪﻩ ﻛﺎﺭﺕ "; break; case 113: resultText = "ﭘﺎﺳﺨﻲ ﺍﺯ ﺻﺎﺩﺭ ﻛﻨﻨﺪﻩ ﻛﺎﺭﺕ ﺩﺭﻳﺎﻓﺖ ﻧﺸﺪ"; break; case 114: resultText = "ﺩﺍﺭﻧﺪﻩ ﻛﺎﺭﺕ ﻣﺠﺎﺯ ﺑﻪ ﺍﻧﺠﺎﻡ ﺍﻳﻦ ﺗﺮﺍﻛﻨﺶ ﻧﻴﺴﺖ"; break; case 21: resultText = "ﭘﺬﻳﺮﻧﺪﻩ ﻧﺎﻣﻌﺘﺒﺮ ﺍﺳﺖ"; break; case 23: resultText = "ﺧﻄﺎﻱ ﺍﻣﻨﻴﺘﻲ ﺭﺥ ﺩﺍﺩﻩ ﺍﺳﺖ"; break; case 24: resultText = "ﺍﻃﻼﻋﺎﺕ ﻛﺎﺭﺑﺮﻱ ﭘﺬﻳﺮﻧﺪﻩ ﻧﺎﻣﻌﺘﺒﺮ ﺍﺳﺖ"; break; case 25: resultText = "ﻣﺒﻠﻎ ﻧﺎﻣﻌﺘﺒﺮ ﺍﺳﺖ"; break; case 31: resultText = "ﭘﺎﺳﺦ ﻧﺎﻣﻌﺘﺒﺮ ﺍﺳﺖ "; break; case 32: resultText = "ﻓﺮﻣﺖ ﺍﻃﻼﻋﺎﺕ ﻭﺍﺭﺩ ﺷﺪﻩ ﺻﺤﻴﺢ ﻧﻤﻲ ﺑﺎﺷﺪ"; break; case 33: resultText = "ﺣﺴﺎﺏ ﻧﺎﻣﻌﺘﺒﺮ ﺍﺳﺖ"; break; case 34: resultText = "ﺧﻄﺎﻱ ﺳﻴﺴﺘﻤﻲ"; break; case 35: resultText = "ﺗﺎﺭﻳﺦ ﻧﺎﻣﻌﺘﺒﺮ ﺍﺳﺖ"; break; case 36: resultText = "ﺷﻤﺎﺭﻩ ﺩﺭﺧﻮﺍﺳﺖ ﺗﻜﺮﺍﺭﻱ ﺍﺳﺖ "; break; case 42: resultText = "ﻳﺎﻓﺖ ﻧﺸﺪ Sale ﺗﺮﺍﻛﻨﺶ "; break; case 43: resultText = " ﺩﺍﺩﻩ ﺷﺪﻩ ﺍﺳﺖ Verify ﻗﺒﻼ ﺩﺭﺧﻮﺍﺳﺖ "; break; case 44: resultText = " ﻳﺎﻓﺖ ﻧﺸﺪ Verfiy ﺩﺭﺧﻮﺍﺳﺖ "; break; case 45: resultText = " ﺷﺪﻩ ﺍﺳﺖ Settle ﺗﺮﺍﻛﻨﺶ "; break; case 46: resultText = " ﻧﺸﺪﻩ ﺍﺳﺖ Settle ﺗﺮﺍﻛﻨﺶ "; break; case 47: resultText = "ﻳﺎﻓﺖ ﻧﺸﺪ Settle ﺗﺮﺍﻛﻨﺶ "; break; case 48: resultText = " ﺷﺪﻩ ﺍﺳﺖ Reverse ﺗﺮﺍﻛﻨﺶ "; break; case 49: resultText = "ﻳﺎﻓﺖ ﻧﺸﺪ Refund ﺗﺮﺍﻛﻨﺶ "; break; case 412: resultText = "ﺷﻨﺎﺳﻪ ﻗﺒﺾ ﻧﺎﺩﺭﺳﺖ ﺍﺳﺖ"; break; case 413: resultText = "ﺷﻨﺎﺳﻪ ﭘﺮﺩﺍﺧﺖ ﻧﺎﺩﺭﺳﺖ ﺍﺳﺖ"; break; case 414: resultText = "ﺳﺎﺯﻣﺎﻥ ﺻﺎﺩﺭ ﻛﻨﻨﺪﻩ ﻗﺒﺾ ﻧﺎﻣﻌﺘﺒﺮ ﺍﺳﺖ"; break; case 415: resultText = "ﺯﻣﺎﻥ ﺟﻠﺴﻪ ﻛﺎﺭﻱ ﺑﻪ ﭘﺎﻳﺎﻥ ﺭﺳﻴﺪﻩ ﺍﺳﺖ"; break; case 416: resultText = " ﺧﻄﺎ ﺩﺭ ﺛﺒﺖ ﺍﻃﻼﻋﺎﺕ"; break; case 417: resultText = "ﺷﻨﺎﺳﻪ ﭘﺮﺩﺍﺧﺖ ﻛﻨﻨﺪﻩ ﻧﺎﻣﻌﺘﺒﺮ ﺍﺳﺖ"; break; case 418: resultText = "ﺍﺷﻜﺎﻝ ﺩﺭ ﺗﻌﺮﻳﻒ ﺍﻃﻼﻋﺎﺕ ﻣﺸﺘﺮﻱ"; break; case 419: resultText = "ﺗﻌﺪﺍﺩ ﺩﻓﻌﺎﺕ ﻭﺭﻭﺩ ﺍﻃﻼﻋﺎﺕ ﺍﺯ ﺣﺪ ﻣﺠﺎﺯ ﮔﺬﺷﺘﻪ ﺍﺳﺖ"; break; case 421: resultText = "ﻧﺎﻣﻌﺘﺒﺮ ﺍﺳﺖ IP"; break; case 51: resultText = "ﺗﺮﺍﻛﻨﺶ ﺗﻜﺮﺍﺭﻱ ﺍﺳﺖ "; break; case 54: resultText = "ﺗﺮﺍﻛﻨﺶ ﻣﺮﺟﻊ ﻣﻮﺟﻮﺩ ﻧﻴﺴﺖ"; break; case 55: resultText = "ﺗﺮﺍﻛﻨﺶ ﻧﺎﻣﻌﺘﺒﺮ ﺍﺳﺖ"; break; case 61: resultText = "ﺧﻄﺎ ﺩﺭ ﻭﺍﺭﻳﺰ"; break; } } return(resultText); }
protected void grd_Payment_ItemCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e) { if (e.CommandName == "estelam") { DataTable dt = new DataTable(); PaymentDTO pay = new PaymentDTO(); pay = Pb.GetPaymentInfoByOrderID(long.Parse(e.CommandArgument.ToString())); PaymentGatewayImplService bpService = new PaymentGatewayImplService(); string result = bpService.bpInquiryRequest(Int64.Parse(Mellat_TerminalId), Mellat_UserName, Mellat_UserPassword, pay.OrderId, pay.OrderId, pay.TraceNumber); switch (result) { case "0": lbl_Estelam.Text = "تراكنش با موفقيت انجام شد"; break; case "11": lbl_Estelam.Text = "ﺷﻤﺎﺭﻩ ﻛﺎﺭﺕ ﻧﺎﻣﻌﺘﺒﺮ ﺍﺳﺖ "; break; case "12": lbl_Estelam.Text = "ﻣﻮﺟﻮﺩﻱ ﻛﺎﻓﻲ ﻧﻴﺴﺖ "; break; case "13": lbl_Estelam.Text = "ﺭﻣﺰ ﻧﺎﺩﺭﺳﺖ ﺍﺳﺖ "; break; case "14": lbl_Estelam.Text = "ﺗﻌﺪﺍﺩ ﺩﻓﻌﺎﺕ ﻭﺍﺭﺩ ﻛﺮﺩﻥ ﺭﻣﺰ ﺑﻴﺶ ﺍﺯ ﺣﺪ ﻣﺠﺎﺯ ﺍﺳﺖ "; break; case "15": lbl_Estelam.Text = "ﻛﺎﺭﺕ ﻧﺎﻣﻌﺘﺒﺮ ﺍﺳﺖ"; break; case "16": lbl_Estelam.Text = "ﺩﻓﻌﺎﺕ ﺑﺮﺩﺍﺷﺖ ﻭﺟﻪ ﺑﻴﺶ ﺍﺯ ﺣﺪ ﻣﺠﺎﺯ ﺍﺳﺖ"; break; case "17": lbl_Estelam.Text = "ﻛﺎﺭﺑﺮ ﺍﺯ ﺍﻧﺠﺎﻡ ﺗﺮﺍﻛﻨﺶ ﻣﻨﺼﺮﻑ ﺷﺪﻩ ﺍﺳﺖ "; break; case "18": lbl_Estelam.Text = "ﺗﺎﺭﻳﺦ ﺍﻧﻘﻀﺎﻱ ﻛﺎﺭﺕ ﮔﺬﺷﺘﻪ ﺍﺳﺖ"; break; case "19": lbl_Estelam.Text = "ﻣﺒﻠﻎ ﺑﺮﺩﺍﺷﺖ ﻭﺟﻪ ﺑﻴﺶ ﺍﺯ ﺣﺪ ﻣﺠﺎﺯ ﺍﺳﺖ"; break; case "111": lbl_Estelam.Text = "ﺻﺎﺩﺭ ﻛﻨﻨﺪﻩ ﻛﺎﺭﺕ ﻧﺎﻣﻌﺘﺒﺮ ﺍﺳﺖ"; break; case "112": lbl_Estelam.Text = "ﺧﻄﺎﻱ ﺳﻮﻳﻴﭻ ﺻﺎﺩﺭ ﻛﻨﻨﺪﻩ ﻛﺎﺭﺕ "; break; case "113": lbl_Estelam.Text = "ﭘﺎﺳﺨﻲ ﺍﺯ ﺻﺎﺩﺭ ﻛﻨﻨﺪﻩ ﻛﺎﺭﺕ ﺩﺭﻳﺎﻓﺖ ﻧﺸﺪ"; break; case "114": lbl_Estelam.Text = "ﺩﺍﺭﻧﺪﻩ ﻛﺎﺭﺕ ﻣﺠﺎﺯ ﺑﻪ ﺍﻧﺠﺎﻡ ﺍﻳﻦ ﺗﺮﺍﻛﻨﺶ ﻧﻴﺴﺖ"; break; case "21": lbl_Estelam.Text = "ﭘﺬﻳﺮﻧﺪﻩ ﻧﺎﻣﻌﺘﺒﺮ ﺍﺳﺖ"; break; case "23": lbl_Estelam.Text = "ﺧﻄﺎﻱ ﺍﻣﻨﻴﺘﻲ ﺭﺥ ﺩﺍﺩﻩ ﺍﺳﺖ"; break; case "24": lbl_Estelam.Text = "ﺍﻃﻼﻋﺎﺕ ﻛﺎﺭﺑﺮﻱ ﭘﺬﻳﺮﻧﺪﻩ ﻧﺎﻣﻌﺘﺒﺮ ﺍﺳﺖ"; break; case "25": lbl_Estelam.Text = "ﻣﺒﻠﻎ ﻧﺎﻣﻌﺘﺒﺮ ﺍﺳﺖ"; break; case "31": lbl_Estelam.Text = "ﭘﺎﺳﺦ ﻧﺎﻣﻌﺘﺒﺮ ﺍﺳﺖ "; break; case "32": lbl_Estelam.Text = "ﻓﺮﻣﺖ ﺍﻃﻼﻋﺎﺕ ﻭﺍﺭﺩ ﺷﺪﻩ ﺻﺤﻴﺢ ﻧﻤﻲ ﺑﺎﺷﺪ"; break; case "33": lbl_Estelam.Text = "ﺣﺴﺎﺏ ﻧﺎﻣﻌﺘﺒﺮ ﺍﺳﺖ"; break; case "34": lbl_Estelam.Text = "ﺧﻄﺎﻱ ﺳﻴﺴﺘﻤﻲ"; break; case "35": lbl_Estelam.Text = "ﺗﺎﺭﻳﺦ ﻧﺎﻣﻌﺘﺒﺮ ﺍﺳﺖ"; break; case "41": lbl_Estelam.Text = "ﺷﻤﺎﺭﻩ ﺩﺭﺧﻮﺍﺳﺖ ﺗﻜﺮﺍﺭﻱ ﺍﺳﺖ "; break; case "42": lbl_Estelam.Text = "ﻳﺎﻓﺖ ﻧﺸﺪ Sale ﺗﺮﺍﻛﻨﺶ "; break; case "43": lbl_Estelam.Text = " ﺩﺍﺩﻩ ﺷﺪﻩ ﺍﺳﺖ Verify ﻗﺒﻼ ﺩﺭﺧﻮﺍﺳﺖ "; break; case "44": lbl_Estelam.Text = " ﻳﺎﻓﺖ ﻧﺸﺪ Verfiy ﺩﺭﺧﻮﺍﺳﺖ "; break; case "45": lbl_Estelam.Text = " ﺷﺪﻩ ﺍﺳﺖ Settle ﺗﺮﺍﻛﻨﺶ "; break; case "46": lbl_Estelam.Text = " ﻧﺸﺪﻩ ﺍﺳﺖ Settle ﺗﺮﺍﻛﻨﺶ "; break; case "47": lbl_Estelam.Text = "ﻳﺎﻓﺖ ﻧﺸﺪ Settle ﺗﺮﺍﻛﻨﺶ "; break; case "48": lbl_Estelam.Text = " ﺷﺪﻩ ﺍﺳﺖ Reverse ﺗﺮﺍﻛﻨﺶ "; break; case "49": lbl_Estelam.Text = "ﻳﺎﻓﺖ ﻧﺸﺪ Refund ﺗﺮﺍﻛﻨﺶ "; break; case "412": lbl_Estelam.Text = "ﺷﻨﺎﺳﻪ ﻗﺒﺾ ﻧﺎﺩﺭﺳﺖ ﺍﺳﺖ"; break; case "413": lbl_Estelam.Text = "ﺷﻨﺎﺳﻪ ﭘﺮﺩﺍﺧﺖ ﻧﺎﺩﺭﺳﺖ ﺍﺳﺖ"; break; case "414": lbl_Estelam.Text = "ﺳﺎﺯﻣﺎﻥ ﺻﺎﺩﺭ ﻛﻨﻨﺪﻩ ﻗﺒﺾ ﻧﺎﻣﻌﺘﺒﺮ ﺍﺳﺖ"; break; case "415": lbl_Estelam.Text = "ﺯﻣﺎﻥ ﺟﻠﺴﻪ ﻛﺎﺭﻱ ﺑﻪ ﭘﺎﻳﺎﻥ ﺭﺳﻴﺪﻩ ﺍﺳﺖ"; break; case "416": lbl_Estelam.Text = " ﺧﻄﺎ ﺩﺭ ﺛﺒﺖ ﺍﻃﻼﻋﺎﺕ"; break; case "417": lbl_Estelam.Text = "ﺷﻨﺎﺳﻪ ﭘﺮﺩﺍﺧﺖ ﻛﻨﻨﺪﻩ ﻧﺎﻣﻌﺘﺒﺮ ﺍﺳﺖ"; break; case "418": lbl_Estelam.Text = "ﺍﺷﻜﺎﻝ ﺩﺭ ﺗﻌﺮﻳﻒ ﺍﻃﻼﻋﺎﺕ ﻣﺸﺘﺮﻱ"; break; case "419": lbl_Estelam.Text = "ﺗﻌﺪﺍﺩ ﺩﻓﻌﺎﺕ ﻭﺭﻭﺩ ﺍﻃﻼﻋﺎﺕ ﺍﺯ ﺣﺪ ﻣﺠﺎﺯ ﮔﺬﺷﺘﻪ ﺍﺳﺖ"; break; case "421": lbl_Estelam.Text = "ﻧﺎﻣﻌﺘﺒﺮ ﺍﺳﺖ IP"; break; case "51": lbl_Estelam.Text = "ﺗﺮﺍﻛﻨﺶ ﺗﻜﺮﺍﺭﻱ ﺍﺳﺖ "; break; case "54": lbl_Estelam.Text = "ﺗﺮﺍﻛﻨﺶ ﻣﺮﺟﻊ ﻣﻮﺟﻮﺩ ﻧﻴﺴﺖ"; break; case "55": lbl_Estelam.Text = "ﺗﺮﺍﻛﻨﺶ ﻧﺎﻣﻌﺘﺒﺮ ﺍﺳﺖ"; break; case "61": lbl_Estelam.Text = "ﺧﻄﺎ ﺩﺭ ﻭﺍﺭﻳﺰ"; break; default: break; } } }
/// <summary> /// Post process payment (used by payment gateways that require redirecting to a third-party URL) /// </summary> /// <param name="postProcessPaymentRequest">Payment info required for an order processing</param> public void PostProcessPayment(PostProcessPaymentRequest postProcessPaymentRequest) { ir.shaparak.bpm.PaymentGatewayImplService bmService = new PaymentGatewayImplService(); string strPhaseOneResult = ""; string strRefNum = ""; string strStatCode = ""; // Get the ref num to get started //string strdata = _mellatBankPaymentSettings.TerminalId + "##" + _mellatBankPaymentSettings.Username + "##" + _mellatBankPaymentSettings.Password + "##" + Convert.ToInt64(postProcessPaymentRequest.Order.Id).ToString() + "##" + Convert.ToInt64(postProcessPaymentRequest.Order.OrderTotal).ToString() + "##" + DateTime.Now.ToString("yyyyMMdd") + "##" + DateTime.Now.ToString("HHmmss") + "##" + GetMellatBankCallBackUrl(); strPhaseOneResult = bmService.bpPayRequest(_mellatBankPaymentSettings.TerminalId, _mellatBankPaymentSettings.Username, _mellatBankPaymentSettings.Password, Convert.ToInt64(postProcessPaymentRequest.Order.Id), Convert.ToInt64(postProcessPaymentRequest.Order.OrderTotal), DateTime.Now.ToString("yyyyMMdd"), DateTime.Now.ToString("HHmmss"), "", GetMellatBankCallBackUrl(), 0); //_httpContext.Response.Redirect("http://asjhdgasjhdg.com/" + strPhaseOneResult + "-" + _mellatBankPaymentSettings.TerminalId + "-" + _mellatBankPaymentSettings.Username + "-" + _mellatBankPaymentSettings.Password + "-" + Convert.ToInt64(postProcessPaymentRequest.Order.Id) + "-" + Convert.ToInt64(postProcessPaymentRequest.Order.OrderTotal) + "-" + GetMellatBankCallBackUrl()); if (strPhaseOneResult.Length > 0 && strPhaseOneResult.IndexOf(',') > 0) { string[] parts = strPhaseOneResult.Split(','); if (parts.Length == 2) { if (Convert.ToInt32(parts[0]) == 0) { // its ok strRefNum = parts[1].ToString(); strStatCode = parts[0].ToString(); } // after getting the number check for duplicate in db in case of fraud var query = from or in _orderRepository.Table where or.AuthorizationTransactionCode == strRefNum select or; if (query.Count() > 0) { // THIS REFNUM ALREADY EXISTS, H A L T O P E R A T I O N postProcessPaymentRequest.Order.PaymentStatus = PaymentStatus.Pending; return; } else { // NO PREVIOUS RECORD OF REFNUM, CLEAR TO PROCEED var remotePostHelper = new RemotePost(); remotePostHelper.FormName = "form1"; remotePostHelper.Url = GetMellatBankUrl(); remotePostHelper.Add("RefId", strRefNum); remotePostHelper.Post(); } } else { postProcessPaymentRequest.Order.PaymentStatus = PaymentStatus.Pending; return; } } else { // no usable response from server postProcessPaymentRequest.Order.PaymentStatus = PaymentStatus.Pending; _logger.InsertLog(Core.Domain.Logging.LogLevel.Error, GetErrorDescription(Convert.ToInt32(strPhaseOneResult)), strPhaseOneResult); return; } }
public BehPardakhtMellat() { behPardakhtWebService = new PaymentGatewayImplService(); OrderID = GenerateRandomOrderID(); }
protected void Page_Load(object sender, EventArgs e) { SetDefaultDateTime(); BypassCertificateError(); try { if (RequestUnpack()) { if (transactionState.Equals("OK")) { ///For Ignore SSL Error ServicePointManager.ServerCertificateValidationCallback = delegate(object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return(true); }; Response.Write("OK"); ///WebService Instance var srv = new PaymentGatewayImplService(); srv.bpDynamicPayRequestAsync(1309976, "shfd", "shfd47", 123, 10000, dateNow, timeNow, "88,140000,108;74,12000,;", "http://shahdforoush.ir/", 123, 33333); var result = srv.bpPayRequest(1309976, "shfd", "shfd47", 123, 10000, dateNow, timeNow, "88,140000,108;74,12000,;", "http://shahdforoush.ir/", 123);//Request.Form["RefNum"], Request.Form["MID"]); //PaymentGatewayImplService bpService = new PaymentGatewayImplService(); //string result = bpService.bpReversalRequest(1309976, "shfd", "shfd47", 123, 10000, 321);//Int64.Parse(ReversalOrderIdTextBox.Text),Int64.Parse(ReversalSaleOrderIdTextBox.Text),Int64.Parse(ReversalSaleReferenceIdTextBox.Text)); Response.Write(result); //if (Convert.ToInt32(result) > 0) //{ // isError = false; // succeedMsg = "بانک صحت رسيد ديجيتالي شما را تصديق نمود. فرايند خريد تکميل گشت"; // Response.Write(succeedMsg); //} //else //{ // Response.Write(TransactionChecking(Convert.ToInt32(result))); //} } else { isError = true; errorMsg = "متاسفانه بانک خريد شما را تاييد نکرده است"; if (transactionState.Equals("Canceled By User") || transactionState.Equals(string.Empty)) { // Transaction was canceled by user isError = true; errorMsg = "تراكنش توسط خريدار كنسل شد"; Response.Write(errorMsg); } else if (transactionState.Equals("Invalid Amount")) { // Amount of revers teransaction is more than teransaction isError = true; errorMsg = "2"; Response.Write(errorMsg); } else if (transactionState.Equals("Invalid Transaction")) { // Can not find teransaction isError = true; errorMsg = "3"; Response.Write(errorMsg); } else if (transactionState.Equals("Invalid Card Number")) { // Card number is wrong isError = true; errorMsg = "4"; Response.Write(errorMsg); } else if (transactionState.Equals("No Such Issuer")) { // Issuer can not find isError = true; errorMsg = "5"; Response.Write(errorMsg); } else if (transactionState.Equals("Expired Card Pick Up")) { // The card is expired isError = true; errorMsg = "6"; Response.Write(errorMsg); } else if (transactionState.Equals("Allowable PIN Tries Exceeded Pick Up")) { // For third time user enter a wrong PIN so card become invalid isError = true; errorMsg = "7"; Response.Write(errorMsg); } else if (transactionState.Equals("Incorrect PIN")) { // Pin card is wrong isError = true; errorMsg = "8"; Response.Write(errorMsg); } else if (transactionState.Equals("Exceeds Withdrawal Amount Limit")) { // Exceeds withdrawal from amount limit isError = true; errorMsg = "9"; Response.Write(errorMsg); } else if (transactionState.Equals("Transaction Cannot Be Completed")) { // PIN and PAD are currect but Transaction Cannot Be Completed isError = true; errorMsg = "10"; Response.Write(errorMsg); } else if (transactionState.Equals("Response Received Too Late")) { // Timeout occur isError = true; errorMsg = "11"; Response.Write(errorMsg); } else if (transactionState.Equals("Suspected Fraud Pick Up")) { // User did not insert cvv2 & expiredate or they are wrong. isError = true; errorMsg = "12"; Response.Write(errorMsg); } else if (transactionState.Equals("No Sufficient Funds")) { // there are not suficient funds in the account isError = true; errorMsg = "13"; Response.Write(errorMsg); } else if (transactionState.Equals("Issuer Down Slm")) { // The bank server is down isError = true; errorMsg = "14"; Response.Write(errorMsg); } else if (transactionState.Equals("TME Error")) { // unknown error occur isError = true; errorMsg = "15"; Response.Write(errorMsg); } } } } catch (Exception ex) { } }
public ConfirmPaymentDTO AcceptPayment(PaymentDTO payment) { if (payment.BankId == (int)BanksEnum.MellatBank) { var paymentObj = walletDAO.SelectPayment(new PaymentDTO { BankId = payment.BankId, RequestKey = payment.RequestKey })?.FirstOrDefault(); if (paymentObj != null) { if (payment.Result == 0) { PaymentGatewayImplService bpService = new PaymentGatewayImplService(); var res = bpService.bpVerifyRequest( Convert.ToInt64(ConfigurationManager.AppSettings["Mellat_TerminalId"]), ConfigurationManager.AppSettings["Username"], ConfigurationManager.AppSettings["UserPassword"], Convert.ToInt64(paymentObj.OrderId), Convert.ToInt64(paymentObj.OrderId), Convert.ToInt64(payment.TraceNumber) ); if (res == "0") { paymentObj.Status = (int)PaymentStatusEnum.Commit; paymentObj.TraceNumber = payment.TraceNumber; paymentObj.Result = 0; walletDAO.UpdatePayment(paymentObj); walletDAO.InsertTransaction(new TransactionDTO { CurrentBalance = GetStudentCurrentBalance(paymentObj.stcode) + paymentObj.Amount, stcode = paymentObj.stcode, TransactionTypeId = (int)TransactionTypeEnum.Deposit, Amount = paymentObj.Amount }); //TODO: log return(new ConfirmPaymentDTO { Message = "ﺗﺮﺍﻛﻨﺶ ﺑﺎ ﻣﻮﻓﻘﻴﺖ ﺍﻧﺠﺎﻡ ﺷﺪ", Result = true, stcode = paymentObj.stcode }); } else { paymentObj.Status = (int)PaymentStatusEnum.RollBack; walletDAO.UpdatePayment(paymentObj); return(new ConfirmPaymentDTO { Result = false, Message = ".وجه مبلغ به حساب واحد دانشگاهی واریز نشد چنانچه پس از 72 ساعت آینده به حساب شما برگشت داده نشد مجددا پرداخت نمایید ", stcode = paymentObj.stcode }); } } else { paymentObj.Status = (int)PaymentStatusEnum.Failed; walletDAO.UpdatePayment(paymentObj); return(new ConfirmPaymentDTO { Result = false, Message = TranslateMellatError(Convert.ToInt32(payment.Result)), stcode = paymentObj.stcode }); //return TranslateMellatError(Convert.ToInt32(result)); } } else { return new ConfirmPaymentDTO { Message = "شناسه پرداخت صحیح نیست", Result = false, stcode = "" } }; } return(new ConfirmPaymentDTO { Message = "امکان برقراری ارتباط با بانک وجود ندارد", Result = false, stcode = "" }); }
public PayRequestResultDTO AddPayment(PaymentDTO payment) { string log = DateTime.Now + " * "; var RequestKey = string.Empty; var Result = string.Empty; var gateway = string.Empty; var payDate = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString().PadLeft(2, '0') + DateTime.Now.Day.ToString().PadLeft(2, '0'); var payTime = DateTime.Now.Hour.ToString().PadLeft(2, '0') + DateTime.Now.Minute.ToString().PadLeft(2, '0') + DateTime.Now.Second.ToString().PadLeft(2, '0'); var PayerId = long.Parse(payment.stcode + payment.stcode.ToPayerId()); log += "payerID=" + PayerId + " * "; Random random = new Random(); long orderid; do { orderid = random.Next(100, 100000000); } while (walletDAO.SelectPayment(new PaymentDTO { OrderId = orderid, BankId = payment.BankId }).Count() > 0); log += "orderid=" + orderid + " * "; if (payment.BankId == Convert.ToInt32(BanksEnum.MellatBank)) { //read config gateway = ConfigurationManager.AppSettings["PgwSite"]; var callback = ConfigurationManager.AppSettings["Mellat_Wallet_CallBackURL"]; var terminalId = Convert.ToInt64(ConfigurationManager.AppSettings["Mellat_TerminalId"]); var userName = ConfigurationManager.AppSettings["Username"]; var password = ConfigurationManager.AppSettings["UserPassword"]; //call web service PaymentGatewayImplService bpService = new PaymentGatewayImplService(); var result = bpService.bpPayRequest(terminalId, userName, password, orderid, Convert.ToInt64(payment.Amount), payDate, payTime, payment.stcode, callback, PayerId); log += "result=" + result + " * "; var resultArray = result.Split(','); log += "resultArray=" + resultArray + " * "; Result = resultArray[0]; if (resultArray.Length > 1) { RequestKey = resultArray[1]; } log += "RequestKey=" + RequestKey + " * "; } payment.OrderId = orderid; payment.CreateDate = DateTime.Now; payment.PayType = Convert.ToInt32(PayTypeEnum.OnlineTopUp); payment.RequestKey = RequestKey; payment.Result = -1; payment.RetrivalRefNo = RequestKey; payment.Status = (int)PaymentStatusEnum.New; log += "resultTranslate= " + TranslateMellatError(Convert.ToInt32(Result)) + " * "; log += "GateWay= " + gateway + " * "; System.IO.File.AppendAllText(@"D:\web-folder\IAUEC\University\wallet\walletError.txt", "\r\n" + log); if (walletDAO.InsertPayment(payment) > 0) { return new PayRequestResultDTO { GateWay = gateway, RefId = RequestKey, Result = TranslateMellatError(Convert.ToInt32(Result)) } } ; log = "--72--"; System.IO.File.AppendAllText(@"D:\web-folder\IAUEC\University\wallet\walletError.txt", "\r\n" + log); return(new PayRequestResultDTO { Result = "خطا در ثبت اطلاعات" }); }