示例#1
0
        private void Confirm(string Merchant_trans_id, string sTrans_Id)
        {
            ConfirmTransactionResultInfo oConfirmInfo = new ConfirmTransactionResultInfo()
            {
                CreateDate = DateTime.Now
            };

            try
            {
                string sConfirm = BanknetHelper.ConfirmTransactionResult(Merchant_trans_id, sTrans_Id, "0", ref oConfirmInfo);// quá lâu
                oConfirmInfo.ResultId  = BanknetHelper.getCodeResult(sConfirm);
                oConfirmInfo.OutString = sConfirm;

                //if (oConfirmInfo.ResultId == "00")
                //{
                //    //ok
                //}
                //else
                //{
                //    //Response.Redirect("/Banknet/#" + Good_Code + "|F|N");
                //}
            }
            catch (Exception ex)
            {
                oConfirmInfo.ResultId  = ex.GetHashCode().ToString();
                oConfirmInfo.OutString = ex.Message;
                //Response.Redirect("/Banknet/#" + Good_Code + "|F|N");
                //throw;
            }
            finally
            {
                ConfirmTransactionResultData.instance.Add(oConfirmInfo);
            }
        }
示例#2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string Good_Code = Request.QueryString["code"];

            if (string.IsNullOrEmpty(Good_Code))
            {
                Response.Redirect("/Banknet/", true);
            }

            CacheInfo oCache = (CacheInfo)CacheProvider.Get(string.Format(KeyCache.KeyUserBanknet, Good_Code));

            if (oCache == null)
            {
                Response.Redirect("/Banknet/", true);
            }

            QuerryBillStatusInfo oStatus = new QuerryBillStatusInfo()
            {
                CreateDate = DateTime.Now
            };

            try
            {
                string sStatus = BanknetHelper.QuerryBillStatus(oCache.Merchant_trans_id, oCache.sTrans_Id, ref oStatus);

                oStatus.ResultId  = BanknetHelper.getCodeResult(sStatus);
                oStatus.OutString = sStatus;
            }
            catch (Exception ex)
            {
                oStatus.ResultId  = ex.GetHashCode().ToString();
                oStatus.OutString = ex.Message;
                //throw;
            }
            finally
            {
                CacheProvider.Remove(string.Format(KeyCache.KeyUserBanknet, Good_Code));
                QuerryBillStatusData.instance.Add(oStatus);
                Response.Redirect("/Banknet/#" + Good_Code + "|F");
            }
        }
示例#3
0
        private void SetInfo(HttpContext context)
        {
            string vouchers = context.Request["vouchers"];

            if (string.IsNullOrEmpty(vouchers))
            {
                context.Response.Write(string.Format("{{\"error\":{0},\"msg\":\"{1}\"}}", 5, "Hãy nhập gói cước"));
                return;
            }

            var oUser = (CustomerGateInfo)context.Session[Config.GetSessionUser];

            if (oUser == null)
            {
                context.Response.Write(string.Format("{{\"error\":{0},\"msg\":\"{1}\"}}", 6, "Hết phiên làm việc, hãy thực hiện lại"));
                return;
            }

            if (!Utility.isOnlyNumber(vouchers))
            {
                context.Response.Write(string.Format("{{\"error\":{0},\"msg\":\"{1}\"}}", 7, "Gói cước không phù hợp"));
                return;
            }

            List <voucher> list     = oUser.vouchers;
            voucher        oVoucher = null;

            foreach (voucher item in list)
            {
                if (vouchers == item.vouchervalue)
                {
                    oVoucher = item;
                    break;
                }
            }

            if (oVoucher == null)
            {
                context.Response.Write(string.Format("{{\"error\":{0},\"msg\":\"{1}\"}}", 8, "Gói cước không phù hợp"));
                return;
            }

            string Good_Code = string.Format("{0:yyMMddHHmmssfff}", DateTime.Now) + oVoucher.duration;

            Good_Code = Security.GetMD5Hash(Good_Code);
            Good_Code = "THAV-" + Good_Code.Substring(0, 15).ToUpper();

            string sSuccess = context.Request.Url.Scheme + "://" + context.Request.Url.Authority + "/Banknet/success.aspx?code=" + Good_Code;
            string sFail    = context.Request.Url.Scheme + "://" + context.Request.Url.Authority + "/Banknet/fail.aspx?code=" + Good_Code;

            SendGoodInfo sendInfo = new SendGoodInfo()
            {
                UserId          = oUser.subnum,
                vouchers        = oVoucher.vouchervalue + " - " + oVoucher.vouchername + " - " + oVoucher.duration + " " + oVoucher.durationuomaltcode,
                Good_code       = Good_Code,
                Xml_description = Config.Desc,
                Url_success     = sSuccess,
                Url_fail        = sFail,
                CreateDate      = DateTime.Now
            };

            try
            {
                string s = BanknetHelper.Send_GoodInfo(Good_Code, Config.Desc, vouchers, "0", "0", sSuccess, sFail, ref sendInfo);

                if (BanknetHelper.getCodeResult(s) != "010")
                {
                    context.Response.Write(string.Format("{{\"error\":{0},\"msg\":\"{1}\"}}", 9, "Kết nối với cổng thanh toán Banknet gặp sự cố"));
                    return;
                }

                string sUrl      = "";
                string sTrans_Id = "";
                int    iResult   = BanknetHelper.GetUrlRedirection(s, out sUrl);
                if (iResult != 0)
                {
                    context.Response.Write(string.Format("{{\"error\":{0},\"msg\":\"{1}\"}}", 10, "Kết nối với cổng thanh toán Banknet gặp sự cố"));
                    return;
                }
                sTrans_Id         = BanknetHelper.getTransIdFromUrl(sUrl);
                sendInfo.Trans_Id = sTrans_Id;
                //save cached
                CacheInfo oCacheInfo = new CacheInfo()
                {
                    Voucher           = oVoucher,
                    sTrans_Id         = sTrans_Id,
                    Good_Code         = Good_Code,
                    User              = oUser,
                    Merchant_trans_id = sendInfo.Merchant_trans_id
                };

                CacheProvider.AddWithTimeOut(string.Format(KeyCache.KeyUserBanknet, Good_Code), oCacheInfo, 720);
                //
                context.Response.Write(string.Format("{{\"error\":{0},\"msg\":\"{1}\"}}", 0, sUrl));
                return;
            }
            catch (Exception ex)
            {
                sendInfo.ResultId  = ex.GetHashCode().ToString();
                sendInfo.OutString = ex.Message;
                context.Response.Write(string.Format("{{\"error\":{0},\"msg\":\"{1}\"}}", sendInfo.ResultId, sendInfo.OutString));
            }
            finally
            {
                SendGoodData.instance.Add(sendInfo);
            }
        }