• 1401/06/18

درگاه پرداخت زرين پال :

با سلام خدمت استاد عزيز

در بخش درگاه پرداخت طبق آموزشي كه براي زرين پال قرارداديم پيشرفتم جايگذاري هم انجام شده منتها به دو اشكال بر ميخورم

1- اگر چند محصول انتخاب شده باشد فقط يكي از اونها به درگاه ارسال ميشه

2- بعد از پرداخت موفق يا ناموفق به صفحه مورد نظر ارسال نميشه و خطاي Server Error in '/' Application.

ميده

در اين تصوير مبلغ نهايي 22000 هزار تومان است

ولي در مرحله پرداخت تست بشرح ذيل

 

مبلغ پرداختي 20000 هزار تومان است

و بعد از زدن پرداخت موفق يا ناموفق به خطاي زير برخورد ميكنم

To Do Online Payment قسمتي هست كه استاد عزيز فرموديد كدهاي درگاه در اينجا قرار مي گيرد

 

   //To Do Online Payment

                System.Net.ServicePointManager.Expect100Continue = false;
                Zarinpal.PaymentGatewayImplementationServicePortTypeClient zp =
                    new Zarinpal.PaymentGatewayImplementationServicePortTypeClient();
                string Authority;

                int Status = zp.PaymentRequest("YOUR-ZARINPAL-MERCHANT-CODE",item.Sum, "تست درگاه پرداخت",
                    "aradcomputershop@gmail.com", "09190152106", "http://localhost:50657/Home/verify/"+order.OrderID, out Authority);

                if (Status == 100)
                {
                    Response.Redirect("https://Sandbox.zarinpal.com/pg/StartPay/" + Authority);


                    ///*Response.Redirect("https://www.zarinpal.com/pg/StartPay/" + */
                    //Authority);
                }

                else
                {
                    ViewBag.Error = "error: " + Status;
                }

            }


            return View();

        }

        public ActionResult verify(int id)
        {
            var order= db.OrderDetail.Find(id);

            if (Request.QueryString["Status"] != "" && Request.QueryString["Status"] != null && Request.QueryString["Authority"] != "" && Request.QueryString["Authority"] != null)
            {
                if (Request.QueryString["Status"].ToString().Equals("OK"))
                {
                    int Amount = order.Price;
                    long RefID;
                    System.Net.ServicePointManager.Expect100Continue = false;
                    Zarinpal.PaymentGatewayImplementationServicePortTypeClient zp = new Zarinpal.PaymentGatewayImplementationServicePortTypeClient();

                    int Status = zp.PaymentVerification("YOUR-ZARINPAL-MERCHANT-CODE", Request.QueryString["Authority"].ToString(), Amount, out RefID);

                    if (Status == 100)
                    {
                        ViewBag.IsSuccess = true;
                        ViewBag.RefId = RefID;
                        //Response.Write("Success!! RefId: " + RefID);
                    }
                    else
                    {
                        ViewBag.Status = Status;
                        //Response.Write("Error!! Status: " + Status);
                    }

                }
                else
                {
                    Response.Write("Error! Authority: " + Request.QueryString["Authority"].ToString() + " Status: " + Request.QueryString["Status"].ToString());
                }
            }
            else
            {
                Response.Write("Invalid Input");
            }


            return View();

 

هرچي بالا پايين كردم متوجه نشدم راهنمايي بفرماييد ممنون ميشم

 

 

 

 

  • 1401/06/18
  • ساعت 12:47

سلام دوست من وقتتون بخیر 

دوست من  در مورد مبلغ پرداختیتون یک بریک پوینت بزارید و ببینید قبل ورود به درگاه مبلغ شما درست محاسبه میشه یا نه احتمالا یک مشکل در نحوه محاسبه مبلغتون وجود داره 

و درمورد لینک وریفای لطفا لینک وریفای رو چک کنید و پورت وارد شده رو بررسی کنید ببینید پروژتون موقع ران دقیقا روی همون پورت اجرا میشه یا نه؟


  • 1401/06/18
  • ساعت 13:46

ممنون از راهنمایی شما

من اولین محصول داخل سبد خرید و اگر تعدادش رو افزایش بدم در مرحله پرداخت درست هست ولی بقیه محصولات که به سبد خرید اضافه شده را تشخیص نمیده


  • 1401/06/19
  • ساعت 00:44

سلام مجدد از استاد عزیز خواهشمندم در خصوص استفاده از درگاه پرداخت که آموزش ش رو هم زحمت کشیدن تو سایت قرار دادن بزرگواری کنند در این آموزش که در بخش سبد خرید توضیح بفرمایند بتونیم استفاده کنیم قبلا از زحمات استاد کمال تشکر را دارم


  • 1401/06/19
  • ساعت 01:49

دوست من شما وقتی ایتم دوم به سبد خریدتون اضافه میکنید لطفا چک کنید که دقیقا تمام مشخصات اون ایتم دومتون تو دیتابیس هم ذخیره میشه

احتمالا شما در ثبت ایتم داخل سبد خریدتون یک مشکلی دارید و به همین خاطر این اتفاق رخ میده


  • 1401/06/19
  • ساعت 02:23

بزرگوار شما راهنمايي بفرماييد درقسمتي كه مبلغ قرارهست به درگاه فرستاده بشه رو من چطور بهش بفهمون از كجا بايد بگيره كدها  دقيقا با كدهاي استاد يكي هست در بانك مشكلي نيست فقط تو درگاه مشكل دارم هرچي ميزنم متوجه نميشه كه مبلغ را بايد از sum بگيره

كدهاي زير مربوط به درگاه پرداخت هست كه استاد عزيز فرمودن و در بخشي هم كه مربوط به سبد خريد و درگاه پرداخت آموزش Mvc پيشرفته هست كه در قسمت 25 توضيح داده شده در همان قسمت قرارداده شده است فقط مبلغ را بلد نيست از كجا بايد بره بخونه

اين را راهنمايي بفرماييد اگر بلد نيستيد استاد مدائني عزيز خودشون قشنگ راهنمايي ميكنند به استاد سلام بنده را برسونيد و بفرماييد من چنين مشكلي دارم

                //To Do Online Payment
                
            System.Net.ServicePointManager.Expect100Continue = false;
                Zarinpal.PaymentGatewayImplementationServicePortTypeClient zp =
                    new Zarinpal.PaymentGatewayImplementationServicePortTypeClient();
                string Authority;

                int Status = zp.PaymentRequest("YOUR-ZARINPAL-MERCHANT-CODE", order.sum , "تست درگاه پرداخت",
                    "aradcomputershop@gmail.com", "09190152106", "http://localhost:50657/ShopCard/verify/"+order.OrderID, out Authority);

                if (Status == 100)
                {
                    Response.Redirect("https://Sandbox.zarinpal.com/pg/StartPay/" + Authority);


                    ///*Response.Redirect("https://www.zarinpal.com/pg/StartPay/" + */
                    //Authority);
                }

                else
                {
                    ViewBag.Error = "error: " + Status;
                }

            


            return View();

        }

        public ActionResult verify(int id)
        {

            var order= db.OrderDetail.Find(id);

            if (Request.QueryString["Status"] != "" && Request.QueryString["Status"] != null && Request.QueryString["Authority"] != "" && Request.QueryString["Authority"] != null)
            {
                if (Request.QueryString["Status"].ToString().Equals("OK"))
                {
                    int Amount = order.Price * order.Count;
                    long RefID;
                    System.Net.ServicePointManager.Expect100Continue = false;
                    Zarinpal.PaymentGatewayImplementationServicePortTypeClient zp = new Zarinpal.PaymentGatewayImplementationServicePortTypeClient();

                    int Status = zp.PaymentVerification("YOUR-ZARINPAL-MERCHANT-CODE", Request.QueryString["Authority"].ToString(), Amount, out RefID);

                    int userId = db.Users.Single(u => u.UserName == User.Identity.Name).UserID;
                    Orders ord = new Orders();
                    
                    if (Status == 100)
                    {
                        ord.IsFinaly = true;
                        db.SaveChanges();
                        ViewBag.IsSuccess = true;
                        ViewBag.RefId = RefID;
                        //Response.Write("Success!! RefId: " + RefID);
                    }
                    else
                    {
                        ViewBag.Status = Status;
                        //Response.Write("Error!! Status: " + Status);
                    }

                }
                else
                {
                    Response.Write("Error! Authority: " + Request.QueryString["Authority"].ToString() + " Status: " + Request.QueryString["Status"].ToString());
                }
            }
            else
            {
                Response.Write("Invalid Input");
            }

         
            return View();

        }

  • 1401/06/19
  • ساعت 15:28

دوست عزیزم متاسفانه چون من دسترسی به کد شما ندارم به راحتی نمیتونم عملیات دیباگ رو انجام بدم باید با یک سری مسائل و ایده ها که ممکنه مشکل ساز شده باشه به شما پیشنهاد بدم که بررسی کنید کد رو

دوست عزیز مبلغ شما داره از order.sum برای درگاه سندباکس زرین پال فرستاده میشه ممکنه این مبلغ اشتباه باشه و فرستاده میشه به سمت درگاه

بیاین باهم پروسه این بخش رو یه مرور کنیم

ببینید شما یک سبد خرید دارید که order شما هست که داخل این order شما یک sum دارید هربار که به سبد خریدتون ایتمی اضافه کنید یا تعدادی رو کم زیاد کنید حتما باید sum اون order رو مجددا حساب کنید و تغییرات رو داخل دیتابیستون ذخیره کنید و بعد از همه این ها موقع فرستادن کاربر به درگاه پرداخت باید از order.sum مبلغ فاکتور رو بگیرید حالا اگر خطایی تو هر کدوم از این مراحل بیفته مبلغ نادرست به سمت درگاه ارسال میشه ، لطفا شما این مراحل رو بررسی کنید ببنید موقع درست کردن order و اضافه کردن ایتم یا تعداد به order همه محاسبات و ایتم ها به درستی داخل دیتابیس شما قرار میگیره یا نه

سلام شما رو هم حتما به استاد میرسونم لطف دارید دوست من 

بازهم با تشکر از شما😊🌹


  • 1401/06/19
  • ساعت 15:45

سلام  و درود 

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

ممنون از شما


  • 1401/06/19
  • ساعت 22:17

سپاس فراوان از شما و استاد عزیز پیام استاد کلی به من انرژی خوب و مثبت داد داخل دیتابیس به درستی ذخیره میشه دیتابیس رو چک کردم فقط رو درگاه مشکل داره.یعنی مبلغ به درستی به درگاه ارسال نمیشه یعنی اونجا که باید item.sum را بخونه اصلا item.sum را شناسایی نمیکنه از شما هم بابت تند صحبت کردن عذرخواهی میکنم من ارادت خاصی به استاد دارم


  • 1401/06/19
  • ساعت 22:58

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


  • 1401/06/21
  • ساعت 01:13

سلام مجدد خدمت استاد عزیز باتوجه به اینکه شما مشغله کاری دارید و شاید فراموش کنید خواستم مشکلم را یاد آوری کنم عذرخواهی میکنم 


  • 1401/06/23
  • ساعت 15:58

سلام آقا من این کدها رو دوباره بررسی کردم همه چی دقیقا با کد استاد یکی هست من فکر میکنم کد ایراد داره چون 

زمانی که سبد خرید میره برای پرداخت فقط جمع آیتم اول رو با خودش میبره درصورتی که سبد دارای چند محصول مختلف و تعداد مختلف هست در قسمت نمایش مبلغ نهایی درست است در دیتابیس به درستی ذخیره می شود تنها زمانی که درگاه پرداخت مبلغ نهایی را میخواهد حساب کند و از حساب مشتری کسر نماید تنها جمع آیتم اول ، اولین محصول در قسمت نمایش را به درگاه ارسال می شود.

لطفاً بررسی و راهنمایی بفرمایید


  • 1401/06/23
  • ساعت 21:23

نمونه دوره را شخصا بررسی کزدم ، مشکلی نداشت دوست من 


logo-enamadlogo-samandehi