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")); }
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)); }