protected void btnSubmit_Click(object sender, EventArgs e) { if (ViewState["ItemType"] == null || ViewState["Code"] == null) { return; } string ItemType = ViewState["ItemType"].ToString(); int Code = Convert.ToInt32(ViewState["Code"]); int TotalCost = 0; #region Parsian long Authority = 0; //byte Status = 1; int BankCode = 1;//Parsian string UserIP = ""; if (ItemType == "Booklet") { BOLBooklets BookletsBOL = new BOLBooklets(); Ranjbaran.Old_App_Code.DAL.Booklets CurBooklet = BookletsBOL.GetDetail(Code); if (CurBooklet != null) { TotalCost = (int)CurBooklet.Price; } } else if (ItemType == "Exam") { BOLExams ExamsBOL = new BOLExams(); Ranjbaran.Old_App_Code.DAL.Exams CurExam = ExamsBOL.GetDetail(Code); if (CurExam != null) { TotalCost = (int)CurExam.Price; } } else if (ItemType == "Course") { BOLCourses CoursesBOL = new BOLCourses(); Ranjbaran.Old_App_Code.DAL.Courses CurExam = CoursesBOL.GetDetail(Code); if (CurExam != null) { TotalCost = (int)CurExam.Fee; } } int UserCode = Convert.ToInt32(Session["UserCode"]); string errMessage = ""; string AfterBuyUrl = "http://www.hadiranjbaran.com/PayStep2.aspx"; BOLUserTransactions UserTransactionsBOL = new BOLUserTransactions(UserCode); int UserTransactionCode = UserTransactionsBOL.Insert(UserCode, DateTime.Now, 1, 1, UserIP, TotalCost, 1, BankCode, ItemType, Code, out errMessage); if (UserTransactionCode == -1) { msgMessage.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error; msgMessage.Text = "بروز خطا" + errMessage; return; } else { Response.Write(UserTransactionCode); } ir.shaparak.pec.SaleService SaleService = new ir.shaparak.pec.SaleService(); //Ranjbaran.ParsianBankWS.EShopService ParsianService = new Ranjbaran.ParsianBankWS.EShopService(); //ParsianService.PinPaymentRequest(ConfigurationManager.AppSettings["ParsianPin"], TotalCost, UserTransactionCode, AfterBuyUrl, ref Authority, ref Status); ir.shaparak.pec.ClientSaleRequestData DataInfo = new ir.shaparak.pec.ClientSaleRequestData(); DataInfo.LoginAccount = "EAi722c7td6881cPnysp"; DataInfo.Amount = TotalCost; DataInfo.OrderId = UserTransactionCode; DataInfo.CallBackUrl = AfterBuyUrl; ir.shaparak.pec.ClientSaleResponseData ResponseData = SaleService.SalePaymentRequest(DataInfo); Authority = ResponseData.Token; short Status = ResponseData.Status; if (Status == 0) { int UpdateResult = UserTransactionsBOL.UpdateAuthority(UserTransactionCode, Authority.ToString(), out errMessage); if (UpdateResult == 0) { Response.Redirect("https://pec.shaparak.ir/NewIPG/?Token=" + Authority); return; } else { msgMessage.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error; msgMessage.Text = "بروز خطا در ذخیره داده های تراکنش بانک پارسیان" + " کد خطا: " + errMessage; return; } } else { msgMessage.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error; msgMessage.Text = "خطا در برقراری ارتباط با بانک پارسیان" + " کد خطا: " + Status; return; } #endregion }
protected void Page_Load(object sender, EventArgs e) { //string strAuthority = Request["au"]; //string strStatus = Request["rs"]; string Token = Request.Form["Token"]; string status = Request.Form["status"]; string OrderId = Request.Form["OrderId"]; string TerminalNo = Request.Form["TerminalNo"]; string RRN = Request.Form["RRN"]; string HashCardNumber = Request.Form["HashCardNumber "]; string Amount = Request.Form["Amount"]; #region Parsian //if (strAuthority != "" && strAuthority != null) //Parsian Bank if (status == "0") { int BankCode = 1; BOLUserTransactions UserTransactionsBOL = new BOLUserTransactions(1); vUserTransactions CurTransaction = UserTransactionsBOL.GetTransByAuthority(Token); if (CurTransaction != null) { if (CurTransaction.HCTransStatusCode == 2) { msgBox.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Warning; msgBox.Text = "این تراکنش قبلا تایید شده است."; return; } byte Status = 1; //Ranjbaran.ParsianBankWS.EShopService ParsianService = new Ranjbaran.ParsianBankWS.EShopService(); //ParsianService.PinPaymentEnquiry(ConfigurationManager.AppSettings["ParsianPin"], Convert.ToInt64(strAuthority), ref Status); ir.shaparak.pec1.ConfirmService ConfirmClass = new ir.shaparak.pec1.ConfirmService(); ClientConfirmRequestData CCR = new ClientConfirmRequestData(); CCR.Token = Convert.ToInt64(Token); CCR.LoginAccount = ConfigurationManager.AppSettings["ParsianPin"]; ClientConfirmResponseData ClientResponse = ConfirmClass.ConfirmPayment(CCR); if (ClientResponse.Status == 0) { string errMessage = ""; UserTransactionsBOL.ChangeStatus(CurTransaction.Code, 2); int UserTransactionCode = UserTransactionsBOL.Insert(CurTransaction.UserCode, DateTime.Now, 2, 1, "", -1 * (int)CurTransaction.Amount, 1, BankCode, CurTransaction.ItemType, (int)CurTransaction.ItemCode, out errMessage, ClientResponse.CardNumberMasked, ClientResponse.RRN); Response.Write(errMessage); lblAmount.Text = CurTransaction.Amount.ToString(); if (CurTransaction.ItemType == "Booklet") { int BookletCode = (int)CurTransaction.ItemCode; BOLBooklets BookletsBOL = new BOLBooklets(); Ranjbaran.Old_App_Code.DAL.Booklets CurBooklet = BookletsBOL.GetDetail(BookletCode); lblTitle.Text = CurBooklet.Title; msgBox.Text = "آقای/خانم " + CurTransaction.FirstName + " " + CurTransaction.LastName + " خرید شما انجام پذیرفت. شماره پیگیری:" + CurTransaction.Code + " تاریخ:" + CurTransaction.ChrgDate + "<br /> با تشکر از شما <br />انتشارات اثبات"; } else if (CurTransaction.ItemType == "Exam") { int ExamCode = (int)CurTransaction.ItemCode; BOLExams ExamsBOL = new BOLExams(); Ranjbaran.Old_App_Code.DAL.Exams CurExam = ExamsBOL.GetDetail(ExamCode); lblTitle.Text = CurExam.Title; msgBox.Text = "آقای/خانم " + CurTransaction.FirstName + " " + CurTransaction.LastName + " خرید شما انجام پذیرفت. شماره پیگیری:" + CurTransaction.Code + " تاریخ:" + CurTransaction.ChrgDate + "<br /> با تشکر از شما <br />انتشارات اثبات"; } else if (CurTransaction.ItemType == "Course") { int CourseCode = (int)CurTransaction.ItemCode; BOLCourses CoursesBOL = new BOLCourses(); Ranjbaran.Old_App_Code.DAL.Courses CurCourse = CoursesBOL.GetDetail(CourseCode); lblTitle.Text = CurCourse.Title; msgBox.Text = "آقای/خانم " + CurTransaction.FirstName + " " + CurTransaction.LastName + " ثبت نام شما در این کلاس با انجام پذیرفت. شماره پیگیری:" + CurTransaction.Code + " تاریخ:" + CurTransaction.ChrgDate + "<br /> با تشکر از شما <br />انتشارات اثبات"; BOLCourseUsers CourseUsersBOL = new BOLCourseUsers(1); int Result = CourseUsersBOL.Insert(CourseCode, (int)CurTransaction.UserCode); if (Result != -1) { msgBox.MessageTextMode = AKP.Web.Controls.Common.MessageMode.OK; msgBox.Text = "ثبت نام شما با موفقیت انجام شد"; } else { msgBox.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error; msgBox.Text = "بروز خطا در فرایند ثبت نام"; } } DateTimeMethods dtm = new DateTimeMethods(); lblDate.Text = dtm.GetPersianDate(DateTime.Now) + " | " + DateTime.Now.Hour + ":" + DateTime.Now.Minute; msgBox.MessageTextMode = AKP.Web.Controls.Common.MessageMode.OK; //msgBox.Text = "پرداخت با موفقیت انجام شد."; ViewState["TransactionCode"] = CurTransaction.Code; btnDownload.Visible = true; return; } else { msgBox.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error; msgBox.Text = "مشترک گرامی، پرداخت الکترونیک شما با موفقیت انجام نشد، این مشکل معمولاً در مواردی رخ میدهد که شما در صفحه بانک پرداخت را تایید نمیکنید، در حساب خود به اندازه کافی موجودی ندارید، مشکلی در برقرار ارتباط با بانک بوجود آمده و ... در هر صورت جای نگرانی وجود ندارد، چرا که هیچ وجهی از حساب شما کسر نشده است.. کد خطا:" + ClientResponse.Status; } } else { msgBox.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error; msgBox.Text = "مشترک گرامی، پرداخت الکترونیک شما با موفقیت انجام نشد، این مشکل معمولاً در مواردی رخ میدهد که شما در صفحه بانک پرداخت را تایید نمیکنید، در حساب خود به اندازه کافی موجودی ندارید، مشکلی در برقرار ارتباط با بانک بوجود آمده و ... در هر صورت جای نگرانی وجود ندارد، چرا که هیچ وجهی از حساب شما کسر نشده است.. کد خطا:"; } } #endregion }
protected void Page_Load(object sender, EventArgs e) { string ItemType = Request["ItemType"]; string strCode = Request["Code"]; int Code; Int32.TryParse(strCode, out Code); if (Code == 0) { return; } if (ItemType != "Booklet" && ItemType != "Exam" && ItemType != "Course") { return; } ViewState["Code"] = Code; ViewState["ItemType"] = ItemType; if (Session["UserCode"] == null) { msgMessage.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error; msgMessage.Text = "برای پرداخت مبلغ لازم است ابتدا عضو سایت شوید."; pnlPayForm.Visible = false; Normallogin1.Visible = true; return; } else { Normallogin1.Visible = false; } if (ItemType == "Booklet") { BOLBooklets BookletsBOL = new BOLBooklets(); Ranjbaran.Old_App_Code.DAL.Booklets CurBooklet = BookletsBOL.GetDetail(Code); if (CurBooklet != null) { lblAmount.Text = Tools.FormatCurrency(CurBooklet.Price.ToString()) + " ریال "; lblTitle.Text = CurBooklet.Title.ToString(); } } else if (ItemType == "Exam") { BOLExams ExamsBOL = new BOLExams(); Ranjbaran.Old_App_Code.DAL.Exams CurExam = ExamsBOL.GetDetail(Code); if (CurExam != null) { lblAmount.Text = CurExam.Price.ToString(); lblTitle.Text = CurExam.Title.ToString(); } } else if (ItemType == "Course") { BOLCourses CoursesBOL = new BOLCourses(); Ranjbaran.Old_App_Code.DAL.Courses CurExam = CoursesBOL.GetDetail(Code); if (CurExam != null) { lblAmount.Text = CurExam.Fee.ToString(); lblTitle.Text = CurExam.Title.ToString(); } } }