Exemplo n.º 1
0
        public ActionResult UpdateConfig(PaymentConfigOnePay model)
        {
            using (var db = new MyDbDataContext())
            {
                if (ModelState.IsValid)
                {
                    try
                    {
                        PaymentConfigOnePay Config = db.PaymentConfigOnePays.FirstOrDefault();
                        if (Config == null)
                        {
                            Config = new PaymentConfigOnePay();
                            db.PaymentConfigOnePays.InsertOnSubmit(Config);
                            db.SubmitChanges();
                            ViewBag.Messages = "Thêm Payment Config OnePay thành công";
                            return(RedirectToAction("GoogleAnalytics"));
                        }
                        Config.AccessCode = model.AccessCode;
                        Config.Hashcode   = model.Hashcode;
                        Config.MerchantId = model.MerchantId;
                        Config.WebSite    = model.WebSite;

                        db.SubmitChanges();
                        ViewBag.Messages = "Chỉnh sửa Payment Config OnePay thành công";
                        return(RedirectToAction("Config"));
                    }
                    catch (Exception exception)
                    {
                        ViewBag.Messages = "Lỗi: " + exception.Message;
                        return(View());
                    }
                }
                return(View(model));
            }
        }
Exemplo n.º 2
0
        public ActionResult SubmitInvoidOnePay(string idOrder, double deposit)
        {
            PaymentConfigOnePay pay = new PaymentConfigOnePay();

            using (var db = new MyDbDataContext())
            {
                pay = db.PaymentConfigOnePays.FirstOrDefault();
            }
            if (pay != null)
            {
                System.Web.HttpContext context = System.Web.HttpContext.Current;
                string     ip   = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
                VPCRequest conn = new VPCRequest("https://onepay.vn/vpcpay/vpcpay.op");

                conn.SetSecureSecret(pay.Hashcode);
                conn.AddDigitalOrderField("AgainLink", "http://onepay.vn");
                conn.AddDigitalOrderField("Title", "onepay paygate");
                conn.AddDigitalOrderField("vpc_Locale", "en");
                conn.AddDigitalOrderField("vpc_Version", "2");
                conn.AddDigitalOrderField("vpc_Command", "pay");
                conn.AddDigitalOrderField("vpc_Merchant", pay.MerchantId);
                conn.AddDigitalOrderField("vpc_AccessCode", pay.AccessCode);
                conn.AddDigitalOrderField("vpc_MerchTxnRef", idOrder);
                conn.AddDigitalOrderField("vpc_OrderInfo", idOrder);
                conn.AddDigitalOrderField("vpc_Amount", deposit.ToString());
                conn.AddDigitalOrderField("vpc_ReturnURL", pay.WebSite + "/BookTour/MessageOnePay");
                conn.AddDigitalOrderField("vpc_TicketNo", ip);
                String url = conn.Create3PartyQueryString();
                return(Redirect(url));
            }
            else
            {
                return(View());
            }
        }
Exemplo n.º 3
0
 public ActionResult Config()
 {
     ViewBag.Title = "Thêm Payment Config OnePay";
     using (var db = new MyDbDataContext())
     {
         PaymentConfigOnePay Config = db.PaymentConfigOnePays.FirstOrDefault();
         return(View(Config));
     }
 }
Exemplo n.º 4
0
        public ActionResult MessageOnePay(string vpc_OrderInfo, string vpc_TxnResponseCode, string vpc_SecureHash)
        {
            PaymentConfigOnePay paymentConfig = new PaymentConfigOnePay();

            using (var db = new MyDbDataContext())
            {
                paymentConfig = db.PaymentConfigOnePays.FirstOrDefault();
                SendEmail sendEmail =
                    db.SendEmails.FirstOrDefault(
                        a => a.Type == TypeSendEmail.BookTour && a.LanguageID == Request.Cookies["LanguageID"].Value);

                int    state   = 0;
                string message = "";
                var    conn    = new VPCRequest("https://onepay.vn/vpcpay/vpcpost.op");
                conn.SetSecureSecret(paymentConfig.Hashcode);
                // Xu ly tham so tra ve va kiem tra chuoi du lieu ma hoa
                string hashvalidateResult = conn.Process3PartyResponse(Request.QueryString);
                // Lay gia tri tham so tra ve tu cong thanh toan
                var merchTxnRef = conn.GetResultField("vpc_MerchTxnRef", "Unknown");
                if (hashvalidateResult == "CORRECTED" && vpc_TxnResponseCode.Trim() == "0")
                {
                    message          = "Transaction was paid successful";
                    state            = 1;
                    ViewBag.Messages = sendEmail.Success;
                }
                else if (hashvalidateResult == "INVALIDATED" && vpc_TxnResponseCode.Trim() == "0")
                {
                    message          = "Transaction is pending";
                    state            = 2;
                    ViewBag.Messages = sendEmail.Error;
                }
                else
                {
                    message          = "Transaction was not paid successful";
                    state            = 3;
                    ViewBag.Messages = sendEmail.Error;
                }
                ViewBag.Message = message;
                ViewBag.State   = state;
                if (state == 1)
                {
                    // do something
                    return(View());
                }
                return(View());
            }
        }