مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

hosseinkh,z

عضویت از 1398/12/25

مشکل در درگاه MVC

  • پنجشنبه 19 تیر 1399
  • 17:21
تشکر میکنم

سلام

من دارم روی یک سایت فروشگاهی کار میکنم و به مشکلی برخورد کردم.

public ActionResult PaymentAction()
        {
            if (Session["username"] == null)
                return RedirectToAction("index", "Home");
            string username = Session["username"].ToString();
            var q = db.Table_shopingcart.Where(a => a.Table_user.username.Equals(username) && a.status == false);

            double Gheymatkol = 0;
            foreach (var item in q)
            {
                var q2 = db.Table_product.Where(a => a.id.Equals(item.productid)).SingleOrDefault().price;
                Gheymatkol += (q2 * item.count);
            }
            if (Gheymatkol > 1000)
            {
                PayLine Pay = new PayLine();
                double amount = Gheymatkol;
                string result = Pay.Send("https://pay.ir/payment/send", "test", amount, "http://localhost:1517/Home/PaymentComplete");
                JsonParameters Parmeters = JsonConvert.DeserializeObject<JsonParameters>(result);
                if (Parmeters.status == 1)
                {
                    List<Table_tempshopingcart> lst = new List<Table_tempshopingcart>();
                    foreach (var item in q)
                    {
                        Table_tempshopingcart t = new Table_tempshopingcart();
                        t.shopingproductid = item.id;
                        t.date = DateTime.Now;
                        t.status = false;
                        t.bankno = int.Parse(Parmeters.transId);
                        lst.Add(t);
                    }
                    db.Table_tempshopingcart.AddRange(lst);
                    db.SaveChanges();
                    Response.Redirect("https://pay.ir/payment/gateway/" + Parmeters.transId);
                }
                else
                {
                    //if -1 or - 2 or - 3 or - 4
                    //Can use swich case For Reports
                    Response.Write("Not Valid");

                }
            }
            return View();

        }
        [HttpPost]
        public ActionResult PaymentComplete()
        {
            if (Session["username"] == null)
                return RedirectToAction("index", "Home");
            string username = Session["username"].ToString();
            var q = db.Table_shopingcart.Where(a => a.Table_user.username.Equals(username));

            //if (trans_id != "" && id_get != "")

            PayLine GetPayline = new PayLine();
            //GetPayline.Get(url, "Your-API", trans_id, id_get)
            string result = GetPayline.Get("http://pay.ir/payment/gateway-result-second", "test", "1", "2");

            if (int.Parse(result) > 0)
            {

            }

            else
            {
                //if -1 or - 2 or - 3 or - 4
                //Can use swich case For Reports
                Response.Write("Not Access");
            }
            return View();
        }

در اکشن PAYMENTACTION و در قسمت SEND ی آدرس بازگشتی تعریف شده است که یک توکن و وضعیت تراکنش را پس میدهد(خروجی ریزالت آن TRANSID میباشد) طبق تعریف باید به اکشن PAYMENTCOMPLETE و به صورت POST رجوع کند.

حال مشکل من ایجاس که اکشنی که به صورت POST تعریف شده است را فراخوانی نمیکند ولی اگر به صورت GET تعریف کنم اکشن را فراخوانی میکند درحالی که من به صورت POST نیاز دارم!!!

چکار کنم؟

فایل کد رو ضمیمه کردم

ممنون

پاسخ های این پرسش

تعداد پاسخ ها : 0 پاسخ
در حال حاضر هیچ پاسخی ارسال نشده است
کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)