예제 #1
0
 public ActionResult ZarinpalPaymentVerification(int id, string authority, string Status)
 {
     if (!string.IsNullOrEmpty(Status) && !string.IsNullOrEmpty(authority))
     {
         if (Status.Equals("OK"))
         {
             var    requestitem = auditTempRepository.GetItem(id);
             long   refID;
             string MerchantID = "e53f3f7c-d9f1-11e8-a28f-000c295eb8fc";
             var    FinalPrice = requestitem.Price - (requestitem.Price / 10);
             int    statuses   = ZarinPal.ZarinpalPaymentVerification(MerchantID, authority, FinalPrice, out refID);
             if (statuses == 100 || statuses == 101)
             {
                 ViewBag.RefId = "کد پیگیری: " + refID + " - کد سفارش: " + id;
                 auditTempRepository.Edit(id, refID, authority, 2, FinalPrice);
                 TempData["RefId"]     = refID;
                 TempData["OrdeID"]    = id;
                 TempData["authority"] = authority;
                 var audit = auditTempRepository.GetItem(id);
                 audit.RequestDatePersian = new PersianDateTime(audit.RequestDate).ToString(PersianDateTimeFormat.Date);
                 auditRepository.Create(audit);
                 TempData["SuccessAudit"] = "Success";
                 return(RedirectToAction("Index"));
             }
             else
             {
                 TempData["FailAudit"] = ZarinPal.GetMessage(statuses);
             }
         }
         else
         {
             TempData["FailAudit"] = "کد مرجع: " + Request.QueryString["Authority"] + " - وضعیت:" + Request.QueryString["Status"];
         }
     }
     else
     {
         TempData["FailAudit"] = "ورودی نامعتبر است.";
     }
     return(RedirectToAction("Index"));
 }
예제 #2
0
        public ActionResult ZarinPalPayment(int ID)
        {
            var    requestitem = auditTempRepository.GetItem(ID);
            string MerchantID  = "e53f3f7c-d9f1-11e8-a28f-000c295eb8fc";
            string authority;
            var    urlWebConfig = ConfigurationManager.AppSettings["ZarinPalPayment"];
            string CallbackURL  = "http://" + Request.Url.Authority + urlWebConfig + "/" + requestitem.ID;
            var    FinalPrice   = requestitem.Price - (requestitem.Price / 10);
            int    status       = ZarinPal.ZarinpalPayment(MerchantID, FinalPrice, " کارشناسی برای " + requestitem.CarModelTitle + " " + requestitem.CarManufactureTitle, requestitem.Email, requestitem.Phone, CallbackURL, out authority);

            if (status == 100)
            {
                ////For release mode
                Response.Redirect("https://zarinpal.com/pg/StartPay/" + authority);
                ////For test mode
                //Response.Redirect("https://sandbox.zarinpal.com/pg/StartPay/" + authority);
                return(null);
            }
            TempData["authority"] = authority;
            TempData["Message"]   = ZarinPal.GetMessage(status);
            return(View("Detail", requestitem));
        }