Exemplo n.º 1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            int      BankCode = 0;
            HtmlMeta metadesc = (HtmlMeta)Page.Master.FindControl("Refresh");

            metadesc.Attributes["content"] = "100000";

            string strFP = HttpContext.Current.Request.Form["FP"];

            strOrderId = HttpContext.Current.Request.Form["OrderId"];
            string strTimeStamp = HttpContext.Current.Request.Form["TimeStamp"];

            //Response.Write("strFP=" + strFP + "<BR>");
            //Response.Write("strOrderId=" + strOrderId + "<BR>");
            //Response.Write("strTimeStamp=" + strTimeStamp + "<BR>");

            #region Saman Parameters
            string strResNum = Request["ResNum"]; // Factor No
            string strRefNum = Request["RefNum"]; //DigitalSignature
            string strState  = Request["State"];
            #endregion


            #region Parsian Parameters
            string strAuthority = Request["au"];
            string strStatus    = Request["rs"];
            #endregion

            #region Parsian
            if (strAuthority != "" && strAuthority != null) //Parsian Bank
            {
                BankCode = 2;
                BOLUserTransactions UserTransactionsBOL = new BOLUserTransactions(1);
                vUserTransactions   CurTransaction      = UserTransactionsBOL.GetTransByAuthority(strAuthority);

                if (CurTransaction != null)
                {
                    if (CurTransaction.HCTransStatusCode == 2)
                    {
                        msg.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Warning;
                        msg.Text            = "این تراکنش قبلا تایید شده است.";
                        return;
                    }
                    byte Status = 1;
                    Parset.com.pecco24.www.EShopService ParsianService = new Parset.com.pecco24.www.EShopService();
                    ParsianService.PinPaymentEnquiry(ConfigurationManager.AppSettings["ParsianPin"], Convert.ToInt64(strAuthority), ref Status);
                    if (Status == 0)
                    {
                        UserTransactionsBOL.ChangeStatus(CurTransaction.Code, 2);
                        //int UserTransactionCode = UserTransactionsBOL.Insert(null, DateTime.Now, 2, 3, "", -1 * CurTransaction.Amount, 4, BankCode);

                        msg.MessageTextMode = AKP.Web.Controls.Common.MessageMode.OK;
                        msg.Text            = "پرداخت با موفقیت انجام شد.";

                        ltrMessage.Text = "پرداخت مبلغ " + CurTransaction.Amount + " ریال بابت دامنه  " + Session["DomainName"].ToString() + " تایید میشود. دامین مربوطه ظرف یک روز کاری ثبت و مشخصات آن برای شما ارسال میگردد. ";

                        string Name  = CurTransaction.Name;
                        string Email = CurTransaction.GuestEmail;

                        string MailBody = "<div style=\"font-family:Tahoma;direction:rtl;\">" + Name + "<BR>";
                        MailBody += "پرداخت مبلغ " + CurTransaction.Amount + " ریال بابت دامنه  " + Session["DomainName"].ToString() + " تایید میشود. دامین مربوطه ظرف یک روز کاری ثبت و مشخصات آن برای شما ارسال میگردد. <br />" + "شماره تراکنش:" + CurTransaction.Code + "</div>";
                        BOLEmails EmailsBOL = new BOLEmails();
                        EmailsBOL.Insert(Email, 6, "");

                        Tools tools      = new Tools();
                        bool  SendResult = tools.SendEmail(MailBody, "تایید پرداخت مبلغ دامنه", "*****@*****.**", Email, "*****@*****.**", "");

                        return;
                    }
                    else
                    {
                        msg.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error;
                        msg.Text            = "مشترک گرامی، پرداخت الکترونیک شما با موفقیت انجام نشد، این مشکل معمولاً در مواردی رخ می‌دهد که شما در صفحه بانک پرداخت را تایید نمی‌کنید، در حساب خود به اندازه کافی موجودی ندارید، مشکلی در برقرار ارتباط با بانک بوجود آمده و ... در هر صورت جای نگرانی وجود ندارد، چرا که هیچ وجهی از حساب شما کسر نشده است.. کد خطا:" + strStatus;
                    }
                }
                else
                {
                    msg.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error;
                    msg.Text            = "مشترک گرامی، پرداخت الکترونیک شما با موفقیت انجام نشد، این مشکل معمولاً در مواردی رخ می‌دهد که شما در صفحه بانک پرداخت را تایید نمی‌کنید، در حساب خود به اندازه کافی موجودی ندارید، مشکلی در برقرار ارتباط با بانک بوجود آمده و ... در هر صورت جای نگرانی وجود ندارد، چرا که هیچ وجهی از حساب شما کسر نشده است.. کد خطا:" + strStatus;
                }
            }
            #endregion

            #region Saman
            if (strResNum != "" && strResNum != null)// Saman Bank
            {
                long OrderId = Convert.ToInt64(strOrderId);
                //CheckRequestStatus(OrderId);
            }
            #endregion
        }
Exemplo n.º 2
0
        private void CheckRequestStatus(string strAuthority)
        {
            try
            {
                int UserCode = 0;
                int BankCode = 1;
                BOLUserTransactions UserTransactionsBOL = new BOLUserTransactions(1);
                vUserTransactions   CurTransaction      = UserTransactionsBOL.GetTransByAuthority(strAuthority);

                if (CurTransaction != null)
                {
                    if (CurTransaction.HCTransStatusCode == 2)
                    {
                        msgMessage.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Warning;
                        msgMessage.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(strAuthority);
                    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, "", 0, out errMessage, ClientResponse.CardNumberMasked, ClientResponse.RRN);
                        Response.Write(errMessage);

                        lblTotalAmount.Text   = CurTransaction.Amount.ToString();
                        lblPaymentStatus.Text = "پرداخت شده";

                        DateTimeMethods dtm = new DateTimeMethods();

                        msgMessage.MessageTextMode   = AKP.Web.Controls.Common.MessageMode.OK;
                        msgMessage.Text              = "پرداخت با موفقیت انجام شد.";
                        ViewState["TransactionCode"] = CurTransaction.Code;

                        ltrMessage.Text = "آقای/خانم " + CurTransaction.FirstName + " " + CurTransaction.LastName + " خرید شما انجام پذیرفت. شماره پیگیری:" + CurTransaction.Code + " تاریخ:" + CurTransaction.ChrgDate + "<br /> با تشکر از شما <br />انتشارات اثبات";
                        return;
                    }
                    else
                    {
                        msgMessage.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error;
                        msgMessage.Text            = "مشترک گرامی، پرداخت الکترونیک شما با موفقیت انجام نشد، این مشکل معمولاً در مواردی رخ می‌دهد که شما در صفحه بانک پرداخت را تایید نمی‌کنید، در حساب خود به اندازه کافی موجودی ندارید، مشکلی در برقرار ارتباط با بانک بوجود آمده و ... در هر صورت جای نگرانی وجود ندارد، چرا که هیچ وجهی از حساب شما کسر نشده است.. کد خطا:" + ClientResponse.Status;
                    }
                }
            }
            catch (Exception ex)
            {
                msgMessage.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error;
                msgMessage.Text           += "بروز خطا : " + ex.Message + "<BR>";
                return;
            }
        }
Exemplo n.º 3
0
        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
        }