public async Task <ActionResult> Post()
        {
            var embeddata      = NgrokHelper.CreateEmbeddataWithPublicUrl();
            var paymentcodeRaw = Request.Form.Get("paymentcodeRaw");
            var amount         = long.Parse(Request.Form.Get("amount"));
            var description    = Request.Form.Get("description");

            var orderData = new QuickPayOrderData(amount, paymentcodeRaw, description, embeddata);
            var result    = await ZaloPayHelper.QuickPay(orderData);

            var returncode = int.Parse(result["returncode"].ToString());

            if (returncode > 0)
            {
                using (var db = new ZaloPayDemoContext())
                {
                    db.Orders.Add(new Models.Order
                    {
                        Apptransid  = orderData.Apptransid,
                        Amount      = orderData.Amount,
                        Timestamp   = orderData.Apptime,
                        Description = orderData.Description,
                        Status      = 0
                    });

                    db.SaveChanges();
                }
            }

            Session["result"] = result;

            return(Redirect("/QuickPay"));
        }
Beispiel #2
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            // DbConfiguration.SetConfiguration(new MySql.Data.EntityFramework.MySqlEFConfiguration());
            Database.SetInitializer(new CreateDatabaseIfNotExists <ZaloPayDemoContext>());
            NgrokHelper.Init().Wait();
        }
        public async Task <ActionResult> Post()
        {
            var amount      = long.Parse(Request.Form.Get("amount"));
            var description = Request.Form.Get("description");
            var bankcode    = Request.Form.Get("bankcode");
            var embeddata   = NgrokHelper.CreateEmbeddataWithPublicUrl();

            if (bankcode.Equals("ATM"))
            {
                embeddata["bankgroup"] = "ATM";
                bankcode = "";
            }

            var orderData = new OrderData(amount, description, bankcode, embeddata);
            var order     = await ZaloPayHelper.CreateOrder(orderData);

            var returncode = (long)order["returncode"];

            if (returncode == 1)
            {
                using (var db = new ZaloPayDemoContext())
                {
                    db.Orders.Add(new Models.Order
                    {
                        Apptransid  = orderData.Apptransid,
                        Amount      = orderData.Amount,
                        Timestamp   = orderData.Apptime,
                        Description = orderData.Description,
                        Status      = 0
                    });

                    db.SaveChanges();
                }

                return(Redirect(order["orderurl"].ToString()));
            }
            else
            {
                Session["error"] = true;
                return(Redirect("/Gateway"));
            }
        }