Exemple #1
0
        /// <summary>
        /// 获取订单信息
        /// </summary>
        /// <param name="orderID"></param>
        /// <returns></returns>
        public OnLineOrder GetOnlineOrder(string orderID)
        {
            string      sqlQuery = string.Format("SELECT * FROM OnLineOrder(NOLOCK) WHERE OrderID='{0}'", orderID);
            OnLineOrder order    = Database.ExecuteObject <OnLineOrder>(sqlQuery);

            return(order);
        }
Exemple #2
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            string order      = context.Request.Cookies["PayOrder"] == null ? "0" : context.Request.Cookies["PayOrder"]["order"];
            string orderuser  = context.Request.Cookies["PayOrder"] == null ? "0" : HttpUtility.UrlDecode(context.Request.Cookies["PayOrder"]["orderUser"]);
            string orderMoney = context.Request.Cookies["PayOrder"] == null ? "0" : context.Request.Cookies["PayOrder"]["orderMoney"];
            string errorMsg   = context.Request.Cookies["ErrorMsg"] == null ? "" : HttpUtility.UrlDecode(context.Request.Cookies["ErrorMsg"]["error"]);

            if (string.IsNullOrEmpty(errorMsg))
            {
                errorMsg = "0";
            }
            if (!string.IsNullOrEmpty(order))
            {
                OnLineOrder onlineorder = treasurefacade.GetOnlineOrder(order);
                if (onlineorder == null)
                {
                    context.Response.Write(orderuser + '*' + orderMoney + '*' + '0' + '*' + '0' + '*' + errorMsg + '*' + order);
                }
                else
                {
                    context.Response.Write(onlineorder.Accounts + '*' + onlineorder.CardPrice + '*' + onlineorder.CardGold + '*' + onlineorder.OrderStatus + '*' + errorMsg + '*' + order);
                }
            }
            else
            {
                context.Response.Write(orderuser + '*' + orderMoney + '*' + '0' + '*' + '0' + '*' + errorMsg + '*' + order);
            }
        }
Exemple #3
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!string.IsNullOrEmpty(Request["wxPayUser"]) && !string.IsNullOrEmpty(Request["wxPayMoney"]))
     {
         //用户名
         string pay_username = Request["wxPayUser"];
         //支付金额(单位以分为单位,插入数据库的不边,提交到支付的要*100)
         string PayMoney = Request["wxPayMoney"];
         //订单号
         string outOrder_no = "wxzf" + DateTime.Now.ToString("yyyyMMddhhmmss");
         //生成订单
         int         uid         = accountsFacade.GetAccountsId(pay_username);
         OnLineOrder onlineOrder = new OnLineOrder();
         onlineOrder.Accounts    = pay_username;
         onlineOrder.UserID      = uid;
         onlineOrder.OrderAmount = decimal.Parse(PayMoney);
         onlineOrder.OrderID     = outOrder_no;
         onlineOrder.OrderStatus = 0;
         onlineOrder.ShareID     = 20;
         onlineOrder.CardTotal   = 1;
         onlineOrder.CardTypeID  = 1;//卡类充值
         onlineOrder.TelPhone    = "";
         onlineOrder.IPAddress   = GameRequest.GetUserIP();
         Message msg = treasureFacade.RequestOrder(onlineOrder);
         if (!msg.Success)
         {
             Response.Redirect("/Tips.aspx?msg=" + msg.Content);
         }
         else
         {   //明文数据
             string param = "mId=" + mId + "&notify_url=" + notify_url + "&outOrder_no=" + outOrder_no + "&total_fee=" + (Convert.ToInt32(PayMoney) * 100).ToString();
             //加密后生成的sign
             string sign = weixindes.Encrypt(param, pwd);
             //传递到支付那边的param
             string realparam = "agCode=" + agCode + "&sign=" + sign;
             //post支付信息过去,获取传递回来的数据,json格式
             string ReturnVal = PostDataGetHtml(url, realparam);
             //解析json
             JObject json   = JObject.Parse(ReturnVal);
             string  result = json["result"].ToString();
             result = result.Replace("\"", "");
             string message = json["message"].ToString();
             message = message.Replace("\"", "");
             //解析result和message,只有当result=0000是才是订单成功,才允许支付,否则,则提交失败到tips.aspx页面
             if (result.Equals("0000"))
             {
                 Response.Redirect(message);
             }
             else
             {
                 Response.Redirect("/Tips.aspx?msg=" + message);
             }
         }
     }
     //当输入信息不正确是跳到该页面
     else
     {
         Response.Redirect("/Tips.aspx?msg=生成订单出错。请重试");
     }
 }
        /// <summary>
        /// 获取订单信息实体
        /// </summary>
        /// <param name="orderID"></param>
        /// <returns></returns>
        public OnLineOrder GetOnLineOrderInfo(string orderID)
        {
            string      sqlQuery    = string.Format("(NOLOCK) WHERE OrderID= '{0}'", orderID);
            OnLineOrder onLineOrder = aideOnLineOrderProvider.GetObject <OnLineOrder>(sqlQuery);

            return(onLineOrder);
        }
Exemple #5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string outOrder_no = Request["outOrder_no"].ToString();
            string sign        = Request["sign"].ToString();
            string realsign    = weixindes.Decrypt(sign, pwd);

            if (("?outOrder_no=" + outOrder_no).Equals(realsign))
            {
                ShareDetialInfo detailInfo = new ShareDetialInfo();
                detailInfo.OrderID   = outOrder_no;
                detailInfo.IPAddress = Utility.UserIP;
                OnLineOrder onlineorder = treasureFacade.GetOnlineOrder(outOrder_no);
                if (onlineorder != null)
                {
                    detailInfo.PayAmount = onlineorder.CardPrice;
                    Message msg = treasureFacade.FilliedOnline(detailInfo, 0);
                    if (!msg.Success)
                    {
                        Response.Write("Fail");
                    }
                    else
                    {
                        Response.Write("Success");
                    }
                }
                else
                {
                    Response.Write("Fail");
                }
            }
            else
            {
                Response.Write("Fail");
            }
        }
Exemple #6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //定义变量
            userName = GameRequest.GetFormString("txtPayAccounts");
            string reUserName = GameRequest.GetFormString("txtPayReAccounts");

            money     = GameRequest.GetFormInt("hdfSalePrice", 0);
            sendUrl   = System.Configuration.ConfigurationSettings.AppSettings["DaySendUrl"];    //导向地址
            notifyUrl = System.Configuration.ConfigurationSettings.AppSettings["DayNotifyUrl"];  //同步回调地址
            string key = System.Configuration.ConfigurationSettings.AppSettings["DayKey"];       //密钥

            merId = System.Configuration.ConfigurationSettings.AppSettings["DayMerId"];          //商户ID


            //验证参数
            if (userName != reUserName)
            {
                ShowAndRedirect("两次输入的用户名不一致", "/Pay/PayDay.aspx");
                return;
            }
            if (money == 0)
            {
                ShowAndRedirect("金额输入有误", "/Pay/PayDay.aspx");
                return;
            }

            //生成订单
            orderID = PayHelper.GetOrderIDByPrefix("Day");      //订单号
            OnLineOrder onlineOrder = new OnLineOrder( );

            onlineOrder.ShareID = 2;
            onlineOrder.OrderID = orderID;
            if (Fetch.GetUserCookie( ) == null)
            {
                onlineOrder.OperUserID = 0;
            }
            else
            {
                onlineOrder.OperUserID = Fetch.GetUserCookie( ).UserID;
            }
            onlineOrder.Accounts    = userName;
            onlineOrder.CardTotal   = 1;
            onlineOrder.CardTypeID  = money < 30 ? 1 : money < 60 ? 2 : money < 120 ? 3 : 4;
            onlineOrder.OrderAmount = money;
            onlineOrder.IPAddress   = GameRequest.GetUserIP( );
            TreasureFacade treasureFacade = new TreasureFacade( );
            Message        umsg           = treasureFacade.RequestOrder(onlineOrder);

            if (!umsg.Success)
            {
                RenderAlertInfo(true, umsg.Content, 2);
                return;
            }

            //生成sign签名
            string signStr = merId + "|" + orderID + "|" + money + "|" + sendUrl + "|" + userName + "|" + key;

            sign = EncryptMD5(signStr, false, 32);
        }
        //绑定数据
        private void BindText(OnLineOrder order)
        {
            lblAlertIcon.CssClass = "ui-result-pic-1";
            lblAlertInfo.CssClass = "ui-result-success";
            lblAlertInfo.Text     = string.Format("恭喜您,充值成功。您的订单号:{0}。", order.OrderID);

            Response.AddHeader("Data-Received", "ok_vpay8");// '此句不能删除也不能修改,作为探测成功之用
        }
Exemple #8
0
        /// <summary>
        /// 获取订单信息
        /// </summary>
        /// <param name="orderID"></param>
        /// <returns></returns>
        public OnLineOrder GetOnlineOrder(string orderID)
        {
            string sqlQuery = string.Format("SELECT * FROM OnLineOrder(NOLOCK) WHERE OrderID=@OrderID");

            List <DbParameter> prams = new List <DbParameter>();

            prams.Add(Database.MakeInParam("OrderID", orderID));

            OnLineOrder order = Database.ExecuteObject <OnLineOrder>(sqlQuery, prams);

            return(order);
        }
Exemple #9
0
 public Message RequestOrder(OnLineOrder orderInfo)
 {
     System.Collections.Generic.List <System.Data.Common.DbParameter> list = new System.Collections.Generic.List <System.Data.Common.DbParameter>();
     list.Add(base.Database.MakeInParam("dwOperUserID", orderInfo.OperUserID));
     list.Add(base.Database.MakeInParam("dwShareID", orderInfo.ShareID));
     list.Add(base.Database.MakeInParam("strAccounts", orderInfo.Accounts));
     list.Add(base.Database.MakeInParam("strOrderID", orderInfo.OrderID));
     list.Add(base.Database.MakeInParam("dcOrderAmount", orderInfo.OrderAmount));
     list.Add(base.Database.MakeInParam("strIPAddress", orderInfo.IPAddress));
     list.Add(base.Database.MakeOutParam("strErrorDescribe", typeof(string), 127));
     return(MessageHelper.GetMessageForObject <OnLineOrder>(base.Database, "NET_PW_ApplyOnLineOrder", list));
 }
        /// <summary>
        /// 生成房卡订单
        /// </summary>
        /// <param name="orderInfo"></param>
        /// <returns></returns>
        public Message RequestOrderFK(OnLineOrder orderInfo, int configID)
        {
            List <DbParameter> prams = new List <DbParameter>();

            prams.Add(Database.MakeInParam("dwOperUserID", orderInfo.OperUserID));
            prams.Add(Database.MakeInParam("dwShareID", orderInfo.ShareID));
            prams.Add(Database.MakeInParam("dwGameID", orderInfo.GameID));
            prams.Add(Database.MakeInParam("strOrderID", orderInfo.OrderID));
            prams.Add(Database.MakeInParam("dwConfigID", configID));
            prams.Add(Database.MakeInParam("strIPAddress", orderInfo.IPAddress));
            prams.Add(Database.MakeOutParam("strErrorDescribe", typeof(string), 127));
            return(MessageHelper.GetMessageForObject <OnLineOrder>(Database, "NET_PW_ApplyOnLineOrderFK", prams));
        }
Exemple #11
0
        //绑定数据
        private void BindText(OnLineOrder order)
        {
            litMsg.Text          = "在线支付成功,用户数据更新完成";
            lblOrderID.Text      = order.OrderID.ToString( );
            lblAccounts.Text     = order.Accounts.ToString( );
            lblGameID.Text       = order.GameID.ToString( );
            lblCardName.Text     = Convert.ToInt32(order.OrderAmount) < 30 ? "蓝钻会员卡" : Convert.ToInt32(order.OrderAmount) < 60 ? "黄钻会员卡" : Convert.ToInt32(order.OrderAmount) < 120 ? "白钻会员卡" : "红钻会员卡";
            lblMemberMonth.Text  = order.OrderAmount / 10 + " 个月";
            lblPresentScore.Text = (order.CardGold * order.OrderAmount / (order.CardPrice * 2)).ToString("N");
            lblOrderAmount.Text  = order.OrderAmount.ToString("N");

            Response.AddHeader("Data-Received", "ok_vpay8");   // '此句不能删除也不能修改,作为探测成功之用
        }
Exemple #12
0
        /// <summary>
        /// 生成订单
        /// </summary>
        /// <param name="orderInfo"></param>
        /// <returns></returns>
        public Message RequestOrder(OnLineOrder orderInfo)
        {
            List <DbParameter> prams = new List <DbParameter>();

            prams.Add(Database.MakeInParam("dwOperUserID", orderInfo.OperUserID));
            prams.Add(Database.MakeInParam("dwShareID", orderInfo.ShareID));
            prams.Add(Database.MakeInParam("strAccounts", orderInfo.Accounts));
            prams.Add(Database.MakeInParam("strOrderID", orderInfo.OrderID));
            prams.Add(Database.MakeInParam("dcOrderAmount", orderInfo.OrderAmount));
            prams.Add(Database.MakeInParam("strIPAddress", orderInfo.IPAddress));
            prams.Add(Database.MakeOutParam("strErrorDescribe", typeof(string), 127));
            return(MessageHelper.GetMessageForObject <OnLineOrder>(Database, "NET_PW_ApplyOnLineOrder", prams));
        }
Exemple #13
0
        ///// <summary>
        ///// 生成订单
        ///// </summary>
        ///// <param name="orderInfo"></param>
        ///// <returns></returns>
        //public void RequestOrder(OnLineOrder orderInfo)
        //{
        //    List<DbParameter> prams = new List<DbParameter>();
        //    prams.Add(Database.MakeInParam("dwOperUserID", orderInfo.OperUserID));
        //    prams.Add(Database.MakeInParam("dwShareID", orderInfo.ShareID));
        //    prams.Add(Database.MakeInParam("dwUserID", orderInfo.UserID));
        //    prams.Add(Database.MakeInParam("strAccounts", orderInfo.Accounts));

        //    prams.Add(Database.MakeInParam("strOrderID", orderInfo.OrderID));
        //    prams.Add(Database.MakeInParam("dcPresentScore", orderInfo.PresentScore));
        //    prams.Add(Database.MakeInParam("dcDiscountScale", orderInfo.DiscountScale));
        //    prams.Add(Database.MakeInParam("dcOrderAmount", orderInfo.OrderAmount));
        //    prams.Add(Database.MakeInParam("dcPayAmount", orderInfo.PayAmount));
        //    prams.Add(Database.MakeInParam("dwOrderStatus", orderInfo.OrderStatus));
        //    prams.Add(Database.MakeInParam("strClientIP", orderInfo.IPAddress));

        //    Database.RunProc("WEB_RequisitionOrder", prams);
        //}


        /// <summary>
        /// 生成订单
        /// </summary>
        /// <param name="orderInfo"></param>
        /// <returns></returns>
        public Message RequestOrder(OnLineOrder orderInfo)
        {
            List <DbParameter> prams = new List <DbParameter>();

            prams.Add(Database.MakeInParam("dwOperUserID", orderInfo.OperUserID));
            prams.Add(Database.MakeInParam("dwShareID", orderInfo.ShareID));
            prams.Add(Database.MakeInParam("strAccounts", orderInfo.Accounts));
            prams.Add(Database.MakeInParam("strOrderID", orderInfo.OrderID));
            prams.Add(Database.MakeInParam("dwCardTypeID", orderInfo.CardTypeID));
            prams.Add(Database.MakeInParam("dwCardTotal", orderInfo.CardTotal));
            prams.Add(Database.MakeInParam("dcOrderAmount", orderInfo.OrderAmount));
            prams.Add(Database.MakeInParam("strTelPhone", orderInfo.TelPhone));
            prams.Add(Database.MakeInParam("strIPAddress", orderInfo.IPAddress));
            prams.Add(Database.MakeOutParam("strErrorDescribe", typeof(string), 127));

            return(MessageHelper.GetMessageForObject <OnLineOrder>(Database, ApplicationSettings.Get("onlineOrder"), prams));
        }
Exemple #14
0
        /// <summary>
        /// 获取信息
        /// </summary>
        private void InitStart()
        {
            //查询订单编号
            string orderID = GameRequest.GetString("OrderID");

            OnLineOrder onlineOrder = treasureFacade.GetOnlineOrder(orderID);

            if (onlineOrder != null)
            {
                lblOrderID.Text      = onlineOrder.OrderID.ToString();
                lblAccounts.Text     = onlineOrder.Accounts.ToString();
                lblGameID.Text       = onlineOrder.GameID.ToString();
                lblCardName.Text     = Convert.ToInt32(onlineOrder.OrderAmount) < 30 ? "蓝钻会员卡" : Convert.ToInt32(onlineOrder.OrderAmount) < 60 ? "黄钻会员卡" : Convert.ToInt32(onlineOrder.OrderAmount) < 120 ? "白钻会员卡" : "红钻会员卡";
                lblMemberMonth.Text  = onlineOrder.OrderAmount / 10 + " 个月";
                lblPresentScore.Text = (onlineOrder.CardGold * onlineOrder.OrderAmount / (onlineOrder.CardPrice)).ToString("N");
                lblOrderAmount.Text  = onlineOrder.OrderAmount.ToString("N");
            }

            string msg = "0";

            if (!String.IsNullOrEmpty(GameRequest.GetString("msg")))
            {
                msg = Request["msg"].ToString( ).Trim( );
            }
            else
            {
                if (Request.QueryString["payResult"] == null)
                {
                    msg = "1";
                }
                else
                {
                    if (Request.QueryString["payResult"].ToString() != "10")
                    {
                        msg = "3";
                    }
                }
            }

            this.lblResults.Text = GetBillMessage(msg);
        }
Exemple #15
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            string      orderID = context.Request.Params["OID"];
            OnLineOrder olo     = tf.GetOnlineOrder(orderID);

            if (olo != null)
            {
                if (olo.OrderStatus == 2)
                {
                    context.Response.Write("succes");
                }
                else
                {
                    context.Response.Write("error");
                }
            }
            else
            {
                context.Response.Write("error");
            }
        }
Exemple #16
0
        private void OnLineOrderDataBind()
        {
            if (orderID == "")
            {
                return;
            }

            //获取站点信息
            OnLineOrder onLineOrderInfo = aideTreasureFacade.GetOnLineOrderInfo(orderID);

            if (onLineOrderInfo == null)
            {
                ShowError("信息不存在");
                return;
            }

            CtrlHelper.SetText(litOrderID, onLineOrderInfo.OrderID.Trim());
            CtrlHelper.SetText(litApplyDate, onLineOrderInfo.ApplyDate.ToString("yyyy-MM-dd HH:mm:ss"));
            CtrlHelper.SetText(litAccounts, onLineOrderInfo.Accounts.Trim());
            CtrlHelper.SetText(litOrderAmount, onLineOrderInfo.OrderAmount.ToString("N"));
            CtrlHelper.SetText(litPayAmount, onLineOrderInfo.PayAmount.ToString("N"));
            CtrlHelper.SetText(litPresentScore, onLineOrderInfo.CardGold.ToString());
            if (onLineOrderInfo.OrderStatus == 0)
            {
                CtrlHelper.SetText(litOrderStatus, "<span class='hong'>未付款</span>");
            }
            else if (onLineOrderInfo.OrderStatus == 1)
            {
                CtrlHelper.SetText(litOrderStatus, "<span class='lan'>已付款待处理</span>");
            }
            else
            {
                CtrlHelper.SetText(litOrderStatus, "<span class='lan'>成功</span>");
            }
            CtrlHelper.SetText(litIPAddress, onLineOrderInfo.IPAddress.Trim() + "&nbsp;&nbsp;" + IPQuery.GetAddressWithIP(onLineOrderInfo.IPAddress.Trim()));
            CtrlHelper.SetText(litOperUserID, onLineOrderInfo.OperUserID.ToString());
        }
Exemple #17
0
        /// <summary>
        /// 提交
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void btnPay_Click(object sender, EventArgs e)
        {
            string strAccounts     = CtrlHelper.GetText(txtPayAccounts);
            string strReAccounts   = CtrlHelper.GetText(txtPayReAccounts);
            string strCardNumber   = CtrlHelper.GetText(txtCardNumber);
            string strCardPassword = CtrlHelper.GetText(txtCardPassword);
            int    amount          = Convert.ToInt32(ddlAmount.SelectedValue);

            if (strAccounts == "")
            {
                RenderAlertInfo(true, "抱歉,请输入充值帐号。", 2);
                return;
            }
            if (strReAccounts != strAccounts)
            {
                RenderAlertInfo(true, "抱歉,两次输入的帐号不一致。", 2);
                return;
            }
            if (amount == 0)
            {
                RenderAlertInfo(true, "请选择卡面值。", 2);
                return;
            }
            if (string.IsNullOrEmpty(strCardNumber))
            {
                RenderAlertInfo(true, "抱歉,请输入卡号。", 2);
                return;
            }
            if (string.IsNullOrEmpty(strCardPassword))
            {
                RenderAlertInfo(true, "抱歉,请输入卡密码。", 2);
                return;
            }

            OnLineOrder onlineOrder = new OnLineOrder();

            onlineOrder.ShareID = cardType;
            onlineOrder.OrderID = PayHelper.GetOrderIDByPrefix("JFTCard");

            if (Fetch.GetUserCookie() == null)
            {
                onlineOrder.OperUserID = 0;
            }
            else
            {
                onlineOrder.OperUserID = Fetch.GetUserCookie().UserID;
            }
            onlineOrder.Accounts    = strAccounts;
            onlineOrder.OrderAmount = amount;
            onlineOrder.IPAddress   = GameRequest.GetUserIP();

            //生成订单
            Message umsg = FacadeManage.aideTreasureFacade.RequestOrder(onlineOrder);

            if (!umsg.Success)
            {
                RenderAlertInfo(true, umsg.Content, 2);
                return;
            }

            // 商户ID
            string p1_usercode = ApplicationSettings.Get("jftBankID");
            // 秘钥
            string key = ApplicationSettings.Get("jftBankKey");
            // 回调页面
            string p4_returnurl = "http://" + HttpContext.Current.Request.Url.Authority + "/Pay/JFT/CardReturn.aspx";
            // 通知地址
            string p5_notifyurl = "http://" + HttpContext.Current.Request.Url.Authority + "/Pay/JFT/PublicAdvice.aspx";
            // 请求时间
            string p6_ordertime = DateTime.Now.ToString("yyyyMMddHHmmss");
            // 签名信息
            string strEncryption = string.Format("{0}&{1}&{2}&{3}&{4}&{5}{6}",
                                                 p1_usercode,
                                                 onlineOrder.OrderID,
                                                 amount,
                                                 p4_returnurl,
                                                 p5_notifyurl,
                                                 p6_ordertime,
                                                 key
                                                 );
            string p7_sign = Utility.MD5(strEncryption).ToUpper();

            // 加密方法
            string p8_signtype = "";
            // 商户支付方式
            string p9_paymethod = "5";
            // 支付通道编码
            string p10_paychannelnum = EnumDescription.GetFieldText(typeof(AppConfig.JFTPayCardType), cardType);
            // 商户进行支付的银行卡类型
            string p11_cardtype = "";
            // 银行支付类型
            string p12_channel = "";
            // 订单失效时间
            string p13_orderfailertime = "";
            // 客户或卖家名称
            string p14_customname = "";
            // 客户联系方式类型 1、email,2、phone,3、地址
            string p15_customcontacttype = "";
            // 客户联系方式
            string p16_customcontact = "";
            // 客户IP地址
            string p17_customip = "";
            // 商品名称
            string p18_product = "";
            // 卡密
            string p19_productcat = strCardPassword;
            // 卡号
            string p20_productnum = strCardNumber;
            // 商品描述
            string p21_pdesc = "";
            // 接口版本
            string p22_version = "2.0";
            // 编码类型
            string p23_charset = "";
            // 备注信息
            string p24_remark = "";

            #region 整理参数

            RenderAlertInfo(false, "页面正跳转到支付平台,请稍候。。。", 2);

            StringBuilder builder = new StringBuilder();
            builder.AppendLine(CreateInputHidden("p1_usercode", p1_usercode));
            builder.AppendLine(CreateInputHidden("p2_order", onlineOrder.OrderID));
            builder.AppendLine(CreateInputHidden("p3_money", amount.ToString()));
            builder.AppendLine(CreateInputHidden("p4_returnurl", p4_returnurl));
            builder.AppendLine(CreateInputHidden("p5_notifyurl", p5_notifyurl));
            builder.AppendLine(CreateInputHidden("p6_ordertime", p6_ordertime));
            builder.AppendLine(CreateInputHidden("p7_sign", p7_sign));
            builder.AppendLine(CreateInputHidden("p8_signtype", p8_signtype));
            builder.AppendLine(CreateInputHidden("p9_paymethod", p9_paymethod));
            builder.AppendLine(CreateInputHidden("p10_paychannelnum", p10_paychannelnum));
            builder.AppendLine(CreateInputHidden("p11_cardtype", p11_cardtype));
            builder.AppendLine(CreateInputHidden("p12_channel", p12_channel));
            builder.AppendLine(CreateInputHidden("p13_orderfailertime", p13_orderfailertime));
            builder.AppendLine(CreateInputHidden("p14_customname", p14_customname));
            builder.AppendLine(CreateInputHidden("p15_customcontacttype", p15_customcontacttype));
            builder.AppendLine(CreateInputHidden("p16_customcontact", p16_customcontact));
            builder.AppendLine(CreateInputHidden("p17_customip", p17_customip));
            builder.AppendLine(CreateInputHidden("p18_product", p18_product));
            builder.AppendLine(CreateInputHidden("p19_productcat", p19_productcat));
            builder.AppendLine(CreateInputHidden("p20_productnum", p20_productnum));
            builder.AppendLine(CreateInputHidden("p21_pdesc", p21_pdesc));
            builder.AppendLine(CreateInputHidden("p22_version", p22_version));
            builder.AppendLine(CreateInputHidden("p23_charset", p23_charset));
            builder.AppendLine(CreateInputHidden("p24_remark", p24_remark));

            formData = builder.ToString();

            #endregion

            js = "<script>window.onload = function() { document.forms[0].submit(); }</script>";
        }
Exemple #18
0
        protected void Page_Load(object sender, System.EventArgs e)
        {
            string formString = GameRequest.GetFormString("account");

            if (formString == "")
            {
                base.Response.Write("充值账号错误");
                base.Response.End();
            }
            int formInt = GameRequest.GetFormInt("amount", 0);

            if (formInt < 6)
            {
                base.Response.Write("充值金额不能低于6元");
                base.Response.End();
            }
            string      text        = GameRequest.GetFormString("type");
            OnLineOrder onLineOrder = new OnLineOrder();

            onLineOrder.OrderID = PayHelper.GetOrderIDByPrefix("ry");
            if (Fetch.GetUserCookie() == null)
            {
                onLineOrder.OperUserID = 0;
            }
            else
            {
                onLineOrder.OperUserID = Fetch.GetUserCookie().UserID;
            }
            onLineOrder.Accounts    = formString;
            onLineOrder.OrderAmount = formInt;
            onLineOrder.IPAddress   = GameRequest.GetUserIP();
            string text4 = text;

            switch (text4)
            {
            case "alipay":
                text = "36";
                onLineOrder.ShareID = 2;
                goto IL_240;

            case "weixin":
                text = "33";
                onLineOrder.ShareID = 3;
                goto IL_240;

            case "alipay-scan":
                text                = "2";
                this.paytype        = "支付宝";
                onLineOrder.ShareID = 4;
                goto IL_240;

            case "weixin-scan":
                text                = "21";
                this.paytype        = "微信";
                onLineOrder.ShareID = 5;
                goto IL_240;

            case "qq":
                text = "92";
                onLineOrder.ShareID = 6;
                goto IL_240;

            case "qq-scan":
                text                = "89";
                this.paytype        = "QQ";
                onLineOrder.ShareID = 8;
                goto IL_240;

            case "kuaijie":
                text = "32";
                onLineOrder.ShareID = 7;
                goto IL_240;
            }
            text = "1";
            onLineOrder.ShareID = 1;
IL_240:
            Message message = FacadeManage.aideTreasureFacade.RequestOrder(onLineOrder);

            if (!message.Success)
            {
                base.Response.Write(message.Content);
                base.Response.End();
            }
            string str   = ApplicationSettings.Get("url_ruyi");
            string value = ApplicationSettings.Get("parter_ruyi");
            string text2 = ApplicationSettings.Get("key_ruyi");
            string text3 = ApplicationSettings.Get("pay_url");

            if (text3 == "")
            {
                text3 = "http://" + base.Request.Url.Host;
            }
            string orderID = onLineOrder.OrderID;
            string value2  = text3 + "/pay/ruyi/notify_url.aspx";

            System.Collections.Generic.Dictionary <string, string> dictionary = new System.Collections.Generic.Dictionary <string, string>();
            dictionary["P_UserID"]     = value;
            dictionary["P_OrderID"]    = orderID;
            dictionary["P_FaceValue"]  = formInt.ToString("#0.00");
            dictionary["P_Price"]      = formInt.ToString("#0.00");
            dictionary["P_ChannelID"]  = text;
            dictionary["P_Result_URL"] = value2;
            dictionary["P_Notify_URL"] = value2;
            string password = string.Format("{0}|{1}|||{2}|{3}|{4}", new object[]
            {
                dictionary["P_UserID"],
                dictionary["P_OrderID"],
                dictionary["P_FaceValue"],
                dictionary["P_ChannelID"],
                text2
            });
            string value3 = TextEncrypt.EncryptPassword(password).ToLower();

            dictionary["P_PostKey"] = value3;
            string url = str + "?" + PayHelper.PrepareSign(dictionary);

            base.Response.Redirect(url);
        }
Exemple #19
0
        /// <summary>
        /// 提交
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void btnPay_Click(object sender, EventArgs e)
        {
            string strAccounts   = CtrlHelper.GetText(txtPayAccounts);
            string strReAccounts = CtrlHelper.GetText(txtPayReAccounts);
            int    amount        = CtrlHelper.GetInt(txtPayAmount, 0);

            if (strAccounts == "")
            {
                RenderAlertInfo(true, "抱歉,请输入充值帐号。", 2);
                return;
            }
            if (strReAccounts != strAccounts)
            {
                RenderAlertInfo(true, "抱歉,两次输入的帐号不一致。", 2);
                return;
            }

            // 验证是否合法的金额
            if (amount <= 0)
            {
                RenderAlertInfo(true, "请输入正确的充值金额", 2);
                return;
            }

            // 支付方法
            string      orderid     = PayHelper.GetOrderIDByPrefix("ZFB");
            OnLineOrder onlineOrder = new OnLineOrder();

            onlineOrder.ShareID = 401;
            onlineOrder.OrderID = orderid;

            if (Fetch.GetUserCookie() == null)
            {
                onlineOrder.OperUserID = 0;
            }
            else
            {
                onlineOrder.OperUserID = Fetch.GetUserCookie().UserID;
            }
            onlineOrder.Accounts    = strAccounts;
            onlineOrder.OrderAmount = amount;
            onlineOrder.IPAddress   = GameRequest.GetUserIP();

            //生成订单
            Message umsg = FacadeManage.aideTreasureFacade.RequestOrder(onlineOrder);

            if (!umsg.Success)
            {
                RenderAlertInfo(true, umsg.Content, 2);
                return;
            }

            //服务器异步通知页面路径
            string notify_url = "http://" + Request.Url.Authority + "/Pay/ZFB/AlipayNotify.aspx";
            //页面跳转同步通知页面路径
            string return_url = "http://" + Request.Url.Authority + "/Pay/Index.aspx";
            //商户网站唯一订单号
            string out_trade_no = orderid;
            //商品名称
            string subject = "充值游戏豆";
            //交易金额
            decimal total_fee = Convert.ToDecimal(amount);

            RenderAlertInfo(false, "页面正跳转到支付平台,请稍候。。。", 2);

            //获取数据签名
            SortedDictionary <string, string> sParaTemp = new SortedDictionary <string, string>();

            sParaTemp.Add("notify_url", notify_url);
            sParaTemp.Add("return_url", return_url);
            sParaTemp.Add("out_trade_no", out_trade_no);
            sParaTemp.Add("subject", subject);
            sParaTemp.Add("total_fee", total_fee.ToString());

            formData = AliPayHelper.BuildRequest(sParaTemp);

            js = "<script>window.onload = function() { document.forms[0].submit(); }</script>";
        }
Exemple #20
0
        protected void btnPay_Click(object sender, EventArgs e)
        {
            string strAccounts   = CtrlHelper.GetText(txtPayAccounts);
            string strReAccounts = CtrlHelper.GetText(txtPayReAccounts);
            int    salePrice     = Utility.StrToInt(this.hdfSalePrice.Value, 0);

            if (strAccounts == "")
            {
                RenderAlertInfo(true, "抱歉,请输入充值帐号。", 2);
                return;
            }
            if (strReAccounts != strAccounts)
            {
                RenderAlertInfo(true, "抱歉,两次输入的帐号不一致。", 2);
                return;
            }

            if (salePrice < 10)
            {
                RenderAlertInfo(true, "抱歉,充值金额不足10元,无法充值。", 2);
                return;
            }

            OnLineOrder onlineOrder = new OnLineOrder();

            onlineOrder.ShareID = 3;
            onlineOrder.OrderID = PayHelper.GetOrderIDByPrefix("YB");

            #region 订单处理

            if (Fetch.GetUserCookie() == null)
            {
                onlineOrder.OperUserID = 0;
            }
            else
            {
                onlineOrder.OperUserID = Fetch.GetUserCookie().UserID;
            }
            onlineOrder.Accounts    = strAccounts;
            onlineOrder.CardTotal   = 1;
            onlineOrder.CardTypeID  = salePrice < 30 ? 1 : salePrice < 60 ? 2 : salePrice < 120 ? 3 : 4;
            onlineOrder.OrderAmount = salePrice;
            onlineOrder.IPAddress   = GameRequest.GetUserIP();

            //生成订单
            Message umsg = treasureFacade.RequestOrder(onlineOrder);
            if (!umsg.Success)
            {
                RenderAlertInfo(true, umsg.Content, 2);
                return;
            }
            #endregion

            #region 提交给易宝处理

            // 商户订单号,选填.
            //若不为"",提交的订单号必须在自身账户交易中唯一;为""时,易宝支付会自动生成随机的商户订单号.
            string p2_Order = onlineOrder.OrderID;

            // 支付金额,必填.
            //单位:元,精确到分.
            string p3_Amt = salePrice.ToString("f0");

            //交易币种,固定值"CNY".
            string p4_Cur = "CNY";

            //商品名称
            //用于支付时显示在易宝支付网关左侧的订单产品信息.
            string p5_Pid = salePrice < 30 ? "蓝钻会员卡" : salePrice < 60 ? "黄钻会员卡" : salePrice < 120 ? "白钻会员卡" : "红钻会员卡";

            //商品种类
            string p6_Pcat = "";

            //商品描述
            string p7_Pdesc = "";

            //商户接收支付成功数据的地址,支付成功后易宝支付会向该地址发送两次成功通知.
            string p8_Url = "http://" + HttpContext.Current.Request.Url.Authority + "/Pay/PayYBReceive.aspx";

            //送货地址
            //为“1”: 需要用户将送货地址留在易宝支付系统;为“0”: 不需要,默认为 ”0”.
            string p9_SAF = "0";

            //商户扩展信息
            //商户可以任意填写1K 的字符串,支付成功时将原样返回.
            string pa_MP = onlineOrder.Accounts;

            //银行编码
            //默认为"",到易宝支付网关.若不需显示易宝支付的页面,直接跳转到各银行、神州行支付、骏网一卡通等支付页面,该字段可依照附录:银行列表设置参数值.
            string pd_FrpId = "";

            //应答机制
            //默认为"1": 需要应答机制;
            string pr_NeedResponse = "1";

            string url = Buy.CreateBuyUrl(p2_Order, p3_Amt, p4_Cur, p5_Pid, p6_Pcat, p7_Pdesc, p8_Url, p9_SAF, pa_MP, pd_FrpId, pr_NeedResponse);

            Response.Redirect(url);
            #endregion
        }
        protected void Page_Load(object sender, System.EventArgs e)
        {
            string formString = GameRequest.GetFormString("account");

            if (formString == "")
            {
                base.Response.Write("充值账号错误");
                base.Response.End();
            }
            int formInt = GameRequest.GetFormInt("amount", 0);

            if (formInt < 6)
            {
                base.Response.Write("充值金额不能低于6元");
                base.Response.End();
            }
            string      text        = GameRequest.GetFormString("type");
            OnLineOrder onLineOrder = new OnLineOrder();

            onLineOrder.OrderID = PayHelper.GetOrderIDByPrefix("dd");
            if (Fetch.GetUserCookie() == null)
            {
                onLineOrder.OperUserID = 0;
            }
            else
            {
                onLineOrder.OperUserID = Fetch.GetUserCookie().UserID;
            }
            onLineOrder.Accounts    = formString;
            onLineOrder.OrderAmount = formInt;
            onLineOrder.IPAddress   = GameRequest.GetUserIP();
            string text4 = text;

            switch (text4)
            {
            case "alipay":
                text = "010008";
                onLineOrder.ShareID = 2;
                goto IL_289;

            case "weixin":
                text = "010007";
                onLineOrder.ShareID = 3;
                goto IL_289;

            case "alipay-scan":
                text                = "010002";
                this.paytype        = "支付宝";
                onLineOrder.ShareID = 4;
                goto IL_289;

            case "weixin-scan":
                text                = "010001";
                this.paytype        = "微信";
                onLineOrder.ShareID = 5;
                goto IL_289;

            case "qq":
                text = "7";
                onLineOrder.ShareID = 6;
                goto IL_289;

            case "kuaijie":
                text = "010010";
                onLineOrder.ShareID = 7;
                goto IL_289;

            case "qq-scan":
                text                = "010000";
                this.paytype        = "QQ";
                onLineOrder.ShareID = 8;
                goto IL_289;

            case "jd":
                text = "6";
                onLineOrder.ShareID = 9;
                goto IL_289;

            case "baidu":
                text = "5";
                onLineOrder.ShareID = 10;
                goto IL_289;
            }
            text = "4";
            onLineOrder.ShareID = 1;
IL_289:
            Message message = FacadeManage.aideTreasureFacade.RequestOrder(onLineOrder);

            if (!message.Success)
            {
                base.Response.Write(message.Content);
                base.Response.End();
            }
            string url   = ApplicationSettings.Get("url_dd");
            string value = ApplicationSettings.Get("parter_dd");
            string str   = ApplicationSettings.Get("key_dd");
            string text2 = ApplicationSettings.Get("pay_url");

            if (text2 == "")
            {
                text2 = "http://" + base.Request.Url.Host;
            }
            string orderID = onLineOrder.OrderID;
            string value2  = text2 + "/pay/diandian/notify_url.aspx";
            string str2    = "{\"mch_app_id\":\"http://www.qp137.com\",\"device_info\":\"AND_WAP\",\"ua\":\"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36\",\"mch_app_name\":\"支付测试\",\"cashier_desk\":\"1\"}";
            string s       = System.Web.HttpUtility.UrlEncode(str2);

            byte[] bytes  = System.Text.Encoding.UTF8.GetBytes(s);
            string value3 = System.Convert.ToBase64String(bytes);

            System.Collections.Generic.Dictionary <string, string> dictionary = new System.Collections.Generic.Dictionary <string, string>();
            dictionary["version"]      = "1.0";
            dictionary["charset"]      = "utf-8";
            dictionary["merchant_id"]  = value;
            dictionary["out_trade_no"] = orderID;
            dictionary["user_ip"]      = GameRequest.GetUserIP();
            dictionary["subject"]      = "支付测试";
            dictionary["body"]         = "支付测试";
            dictionary["user_id"]      = formString;
            dictionary["total_fee"]    = formInt.ToString("#0.00");
            dictionary["notify_url"]   = value2;
            dictionary["return_url"]   = value2;
            dictionary["nonce_str"]    = TextUtility.CreateAuthStr(20, false);
            dictionary["biz_content"]  = value3;
            dictionary["trade_type"]   = text;
            dictionary = (
                from p in dictionary
                orderby p.Key
                select p).ToDictionary((System.Collections.Generic.KeyValuePair <string, string> p) => p.Key, (System.Collections.Generic.KeyValuePair <string, string> o) => o.Value);
            string str3 = PayHelper.PrepareSign(dictionary) + "&key=" + str;

            dictionary["sign"] = Jiami.MD5(str3).ToUpper();
            string param = PayHelper.ToXml(dictionary);
            string text3 = HttpHelper.HttpRequest(url, param, "post", "utf-8", "text/xml");

            System.Collections.Generic.Dictionary <string, string> dictionary2 = PayHelper.XmlToDic(text3);
            if (!dictionary2.ContainsKey("status"))
            {
                base.Response.Write(text3);
                base.Response.End();
            }
            else
            {
                string a = dictionary2["status"];
                if (a == "0")
                {
                    this.order_no     = orderID;
                    this.order_amount = formInt.ToString();
                    this.qrcode       = dictionary2["pay_info"];
                    base.Response.Redirect(this.qrcode);
                }
                else
                {
                    base.Response.Write(dictionary2["message"]);
                    base.Response.End();
                }
            }
        }
Exemple #22
0
        protected void Page_Load(object sender, EventArgs e)
        {
            tenpayUser       = Request.Form["tenPayUser"] ?? string.Empty;
            tenpayMoney      = Request.Form["tenpayMoney"] ?? string.Empty;
            tenpayBank       = Request.Form["tenpayBankname"] ?? string.Empty;
            tenpayOtherMoney = Request.Form["selfMoney"] ?? string.Empty;
            if (tenpayMoney.Equals("0"))
            {
                tenpayMoney = "100";
            }
            if (!string.IsNullOrEmpty(tenpayOtherMoney))
            {
                tenpayMoney = tenpayOtherMoney;
            }
            if (!string.IsNullOrEmpty(tenpayUser) && !string.IsNullOrEmpty(tenpayMoney))
            {
                AccountsInfo accountsInfo = accountsfacade.GetAccountsByAccontsName(tenpayUser);
                if (accountsInfo == null)
                {
                    HttpCookie UserCookie2 = new HttpCookie("ErrorMsg");
                    UserCookie2["error"] = HttpUtility.UrlDecode("用户名不存在");
                    UserCookie2.Expires  = DateTime.Now.AddMinutes(7);
                    Response.Cookies.Add(UserCookie2);
                    Response.Redirect("/showpayInfo.html");
                }

                try
                {
                    int.Parse(tenpayMoney);
                }
                catch (Exception)
                {
                    HttpCookie UserCookie2 = new HttpCookie("ErrorMsg");
                    UserCookie2["error"] = HttpUtility.UrlDecode("充值金额不对");
                    UserCookie2.Expires  = DateTime.Now.AddMinutes(7);
                    Response.Cookies.Add(UserCookie2);
                    Response.Redirect("/showpayInfo.html");
                    return;
                }
                tenpayOrder = "CFT-" + DateTime.Now.ToString("yyyyMMddhhmmss");  //用户订单

                OnLineOrder online = new OnLineOrder();
                online.Accounts    = tenpayUser;
                online.UserID      = accountsInfo.UserID;
                online.OrderAmount = decimal.Parse((Convert.ToInt32(tenpayMoney)).ToString());
                online.OrderID     = tenpayOrder;
                online.OrderStatus = 0;
                online.ShareID     = 20;
                online.CardTotal   = 1;
                online.CardTypeID  = 1;
                online.TelPhone    = "";
                online.IPAddress   = GameRequest.GetUserIP();
                Message msg = treasurefacade.RequestOrder(online);
                if (msg.Success)
                {
                    //创建RequestHandler实例
                    RequestHandler reqHandler = new RequestHandler(Context);
                    //初始化
                    reqHandler.init();
                    //设置密钥
                    reqHandler.setKey(TenpayUtil.tenpay_key);
                    reqHandler.setGateUrl("https://gw.tenpay.com/gateway/pay.htm");

                    //-----------------------------
                    //设置支付参数
                    //-----------------------------
                    reqHandler.setParameter("partner", TenpayUtil.bargainor_id);                            //商户号
                    reqHandler.setParameter("out_trade_no", tenpayOrder);                                   //商家订单号
                    reqHandler.setParameter("total_fee", (Convert.ToDouble(tenpayMoney) * 100).ToString()); //商品金额,以分为单位
                    reqHandler.setParameter("return_url", TenpayUtil.tenpay_return);                        //交易完成后跳转的URL
                    reqHandler.setParameter("notify_url", TenpayUtil.tenpay_notify);                        //接收财付通通知的URL
                    reqHandler.setParameter("body", "789金币购买");                                             //商品描述
                    reqHandler.setParameter("bank_type", tenpayBank);                                       //银行类型(中介担保时此参数无效)
                    reqHandler.setParameter("spbill_create_ip", Page.Request.UserHostAddress);              //用户的公网ip,不是商户服务器IP
                    reqHandler.setParameter("fee_type", "1");                                               //币种,1人民币
                    reqHandler.setParameter("subject", "789金币购买");                                          //商品名称(中介交易时必填)


                    //系统可选参数
                    reqHandler.setParameter("sign_type", "MD5");
                    reqHandler.setParameter("service_version", "1.0");
                    reqHandler.setParameter("input_charset", "UTF-8");
                    reqHandler.setParameter("sign_key_index", "1");

                    //业务可选参数

                    reqHandler.setParameter("attach", "");                                          //附加数据,原样返回
                    reqHandler.setParameter("product_fee", "0");                                    //商品费用,必须保证transport_fee + product_fee=total_fee
                    reqHandler.setParameter("transport_fee", "0");                                  //物流费用,必须保证transport_fee + product_fee=total_fee
                    reqHandler.setParameter("time_start", DateTime.Now.ToString("yyyyMMddHHmmss")); //订单生成时间,格式为yyyymmddhhmmss
                    reqHandler.setParameter("time_expire", "");                                     //订单失效时间,格式为yyyymmddhhmmss
                    reqHandler.setParameter("buyer_id", "");                                        //买方财付通账号
                    reqHandler.setParameter("goods_tag", "");                                       //商品标记
                    reqHandler.setParameter("trade_mode", "1");                                     //交易模式,1即时到账(默认),2中介担保,3后台选择(买家进支付中心列表选择)
                    reqHandler.setParameter("transport_desc", "");                                  //物流说明
                    reqHandler.setParameter("trans_type", "1");                                     //交易类型,1实物交易,2虚拟交易
                    reqHandler.setParameter("agentid", "");                                         //平台ID
                    reqHandler.setParameter("agent_type", "");                                      //代理模式,0无代理(默认),1表示卡易售模式,2表示网店模式
                    reqHandler.setParameter("seller_id", "");                                       //卖家商户号,为空则等同于partner

                    //获取请求带参数的url
                    string requestUrl = reqHandler.getRequestURL();

                    //Get的实现方式
                    // string a_link = "<a target=\"_blank\" href=\"" + requestUrl + "\">" + "财付通支付" + "</a>";
                    Response.Redirect(requestUrl);


                    //post实现方式

                    /* Response.Write("<form method=\"post\" action=\""+ reqHandler.getGateUrl() + "\" >\n");
                     * Hashtable ht = reqHandler.getAllParameters();
                     * foreach(DictionaryEntry de in ht)
                     * {
                     *   Response.Write("<input type=\"hidden\" name=\"" + de.Key + "\" value=\"" + de.Value + "\" >\n");
                     * }
                     * Response.Write("<input type=\"submit\" value=\"财付通支付\" >\n</form>\n");*/


                    //获取debug信息,建议把请求和debug信息写入日志,方便定位问题
                    string debuginfo = reqHandler.getDebugInfo();
                    Response.Write("<br/>requestUrl:" + requestUrl + "<br/>");
                    Response.Write("<br/>debuginfo:" + debuginfo + "<br/>");
                }
                else
                {
                    HttpCookie UserCookie2 = new HttpCookie("ErrorMsg");
                    UserCookie2["error"] = HttpUtility.UrlEncode(msg.Content);
                    UserCookie2.Expires  = DateTime.Now.AddMinutes(7);
                    Response.Cookies.Add(UserCookie2);
                    Response.Redirect("/showpayInfo.html");
                }
            }
            else
            {
            }
        }
        protected void Page_Load(object sender, System.EventArgs e)
        {
            string formString = GameRequest.GetFormString("account");

            if (formString == "")
            {
                base.Response.Write("充值账号错误");
                base.Response.End();
            }
            decimal num = GameRequest.GetFormInt("amount", 0);

            if (num < 6m)
            {
                base.Response.Write("充值金额不能低于6元");
                base.Response.End();
            }
            string      text        = GameRequest.GetFormString("type");
            OnLineOrder onLineOrder = new OnLineOrder();

            onLineOrder.OrderID = PayHelper.GetOrderIDByPrefix("hyf");
            if (Fetch.GetUserCookie() == null)
            {
                onLineOrder.OperUserID = 0;
            }
            else
            {
                onLineOrder.OperUserID = Fetch.GetUserCookie().UserID;
            }
            onLineOrder.Accounts    = formString;
            onLineOrder.OrderAmount = num;
            onLineOrder.IPAddress   = GameRequest.GetUserIP();
            if (text == "alipay-scan")
            {
                text = "4";
                onLineOrder.ShareID = 4;
            }
            else
            {
                if (text == "weixin-scan")
                {
                    onLineOrder.ShareID = 5;
                }
                else
                {
                    if (text == "kuaijie")
                    {
                        text = "10";
                        onLineOrder.ShareID = 7;
                    }
                }
            }
            Message message = FacadeManage.aideTreasureFacade.RequestOrder(onLineOrder);

            if (!message.Success)
            {
                base.Response.Write(message.Content);
                base.Response.End();
            }
            string gateway = ApplicationSettings.Get("url_heyifu");
            string value   = ApplicationSettings.Get("partner_heyifu");
            string str     = ApplicationSettings.Get("key_heyifu");
            string text2   = ApplicationSettings.Get("pay_url");

            this.ordernumber = onLineOrder.OrderID;
            this.paymoney    = num.ToString();
            if (text2 == "")
            {
                text2 = "http://" + base.Request.Url.Host;
            }
            string value2 = text2 + "/pay/heyifu/notify_url.aspx";

            System.Collections.Generic.Dictionary <string, string> dictionary = new System.Collections.Generic.Dictionary <string, string>();
            dictionary["apiName"]      = "WEB_PAY_B2C";
            dictionary["apiVersion"]   = "1.0.0.0";
            dictionary["platformID"]   = value;
            dictionary["merchNo"]      = value;
            dictionary["orderNo"]      = this.ordernumber;
            dictionary["tradeDate"]    = System.DateTime.Now.ToString("yyyyMMdd");
            dictionary["amt"]          = this.paymoney;
            dictionary["merchUrl"]     = value2;
            dictionary["merchParam"]   = "";
            dictionary["tradeSummary"] = "1|1";
            string str2   = PayHelper.PrepareSign(dictionary);
            string value3 = TextEncrypt.EncryptPassword(str2 + str);

            dictionary["bankCode"]      = "";
            dictionary["choosePayType"] = text;
            dictionary["signMsg"]       = value3;
            dictionary["overTime"]      = "";
            dictionary["customerIP"]    = GameRequest.GetUserIP();
            base.Response.Write(PayHelper.BuildForm(dictionary, gateway));
            base.Response.End();
        }
        //更新数据
        private void BindData()
        {
            ReturnVBDetailInfo result = new ReturnVBDetailInfo();

            string spid  = ApplicationSettings.Get("spId");       //'sp号码
            string sppwd = ApplicationSettings.Get("spKeyValue"); //'sp18位密码

            //'接受服务器url get参数
            string rtmd5 = Request.QueryString["v1"]; //   '服务器MD5

            result.Rtmd5 = rtmd5;

            string trka = Request.QueryString["v2"];  //  'V币号码15位

            result.Rtka = trka;

            string rtmi = Request.QueryString["v3"]; //   '密码'V币密码6位 (可能为空 老V币没有密码)

            result.Rtmi = rtmi;

            string rtmz = Request.QueryString["v4"];    //  '面值1-999 整数

            result.Rtmz = Convert.ToInt32(rtmz);

            string rtlx = Request.QueryString["v5"];    //  '卡的类型  1 2 3

            result.Rtlx = Convert.ToInt32(rtlx);

            string rtoid = Request.QueryString["v6"]; // '网盈一号通服务器端订单

            result.Rtoid = rtoid;

            string rtcoid = Request.QueryString["v7"];  //  '商户自己订单

            result.OrderID = rtcoid;

            string rtuserid = Request.QueryString["v8"];// '商户的用户ID

            result.Rtuserid = rtuserid;

            string rtcustom = Request.QueryString["v9"]; //'商户自己定义数据

            result.Rtcustom = rtcustom;

            string rtflag = Request.QueryString["v10"]; // '返回状态. 1正常发送 2补单发送

            result.Rtflag = Convert.ToInt32(rtflag);

            string get_key = trka + rtmi + rtoid + spid + sppwd + rtcoid + rtflag + rtmz;

            result.EcryptStr = get_key;
            //'卡+密+网盈一号通服务器端订单+ 5位spid+ 18位SP密码+商户订单+rtflag返回类型1或2 +面值
            //'LCase函数是将字符转换为小写; Ucase函数是将字符转换为大写
            //'全国声讯支付联盟全国声讯电话支付接口对MD5值只认大写字符串,所以小写的MD5值得转换为大写
            string md5password = TextEncrypt.EncryptPassword(get_key).ToUpper();  //  '先MD5 32 然后转大写

            result.SignMsg = md5password;

            //'流程 第1次访问此页面 是盈华讯方服务器调用此页面1次 ,你先判断订单(订单包含金额,面值,状态等消息)
            //'如果订单是没有使用状态并金额一致就MD5校验,校验通过 你发送“header("Data-Received:ok_vpay8"); ”
            //'给盈华讯方服务器,服务器接收到这个头 后判断( 你已经给用户加点了),然后就把本页面转向给你
            //,此时转发的数据和第一次服务器直接调用的一致 此次你只需要根据订单,给用户提示冲值成功就可以了。
            //如果你没有发送头或网络中断,我就会给用户提示补单的消息(他可以自己点击,也可以我方服务器自动
            //补发,补发数据的MD5和第一发送的不一样,里面的“$_GET['v10']”'返回状态. 1为正常发送回来 2为补单发送回来)
            // 做好加点后一定要把订单 状态改变。!并注意安全处理。
            //关于订单安全做法 如有不明请电话:0755-82126136 徐先生

            //此页面不要使用SEESION cooke  请用数据库管理你的订单 */
            //////////此处请商户自己编写求出订单状态代码 以备下方条件判断用!

            //写VB返回记录

            if (rtmd5 == "" || rtmd5 == null)
            {
                lblAlertIcon.CssClass = "ui-result-pic-2";
                lblAlertInfo.CssClass = "ui-result-fail";
                lblAlertInfo.Text     = string.Format("没有此订单信息");
                return;
            }
            FacadeManage.aideTreasureFacade.WriteReturnVBDetail(result);

            //'步骤1  :包含A和B
            //'A步骤,盈华讯方服务器第一次探测商户服务器状态.并给该订单充值
            //'B步骤,检查该订单如果订单使用了 就把该订单的充值记录给用户打印.
            if (rtflag == "1")
            {
                if (md5password == rtmd5)
                {
                    //'校验商户订单号码状态
                    string      orderID = rtcoid.Trim();
                    OnLineOrder order   = FacadeManage.aideTreasureFacade.GetOnlineOrder(orderID);
                    if (order != null)
                    {
                        if (order.OrderStatus == 0)
                        {
                            //充值
                            ShareDetialInfo detailInfo = new ShareDetialInfo();
                            detailInfo.OrderID   = orderID;
                            detailInfo.PayAmount = Convert.ToDecimal(rtmz);
                            detailInfo.IPAddress = Utility.UserIP;
                            Message msg = FacadeManage.aideTreasureFacade.FilliedOnline(detailInfo, 1);
                            if (msg.Success)
                            {
                                BindText(order);
                            }
                        }
                        else
                        {
                            BindText(order);
                        }
                    }
                }
            }

            //'步骤2  :包含A补单
            //'A补单:如果由于网络服务器中断或加点失败,会在5分钟内开始给用户补发数据.持续200次 24个小时
            if (rtflag == "2")
            {
                if (md5password == rtmd5)
                {
                    //'校验商户订单号码状态
                    string      orderID = rtcoid.Trim();
                    OnLineOrder order   = FacadeManage.aideTreasureFacade.GetOnlineOrder(orderID);
                    if (order != null)
                    {
                        if (order.OrderStatus == 0)
                        {
                            //充值
                            ShareDetialInfo detailInfo = new ShareDetialInfo();
                            detailInfo.OrderID   = orderID;
                            detailInfo.PayAmount = Convert.ToDecimal(rtmz);
                            detailInfo.IPAddress = Utility.UserIP;
                            Message msg = FacadeManage.aideTreasureFacade.FilliedOnline(detailInfo, 1);
                            if (msg.Success)
                            {
                                BindText(order);
                            }
                        }
                        else
                        {
                            BindText(order);
                        }
                    }
                }
            }
        }
Exemple #25
0
        /// <summary>
        /// 提交
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void btnPay_Click(object sender, EventArgs e)
        {
            string strAccounts   = CtrlHelper.GetText(txtPayAccounts);
            string strReAccounts = CtrlHelper.GetText(txtPayReAccounts);
            int    amount        = CtrlHelper.GetInt(txtPayAmount, 0);

            if (strAccounts == "")
            {
                RenderAlertInfo(true, "抱歉,请输入充值帐号。", 2);
                return;
            }
            if (strReAccounts != strAccounts)
            {
                RenderAlertInfo(true, "抱歉,两次输入的帐号不一致。", 2);
                return;
            }

            // 验证是否合法的金额
            if (amount <= 0)
            {
                RenderAlertInfo(true, "请输入正确的充值金额", 2);
                return;
            }

            // 支付方法
            string      orderid     = PayHelper.GetOrderIDByPrefix("WX");
            OnLineOrder onlineOrder = new OnLineOrder();

            onlineOrder.ShareID = 401;
            onlineOrder.OrderID = orderid;

            if (Fetch.GetUserCookie() == null)
            {
                onlineOrder.OperUserID = 0;
            }
            else
            {
                onlineOrder.OperUserID = Fetch.GetUserCookie().UserID;
            }
            onlineOrder.Accounts    = strAccounts;
            onlineOrder.OrderAmount = amount;
            onlineOrder.IPAddress   = GameRequest.GetUserIP();

            //生成订单
            Message umsg = FacadeManage.aideTreasureFacade.RequestOrder(onlineOrder);

            if (!umsg.Success)
            {
                RenderAlertInfo(true, umsg.Content, 2);
                return;
            }

            //随机字符串
            string nonce_str = WeiXinHelper.GetNonce_str();
            //商品描述
            string body = "充值游戏豆";
            //商户订单号
            string out_trade_no = orderid;
            //交易金额(分为单位)
            int total_fee = Convert.ToInt32(amount * 100);
            //终端IP
            string spbill_create_ip = Utility.UserIP;
            //回调地址
            string notify_url = "http://" + Request.Url.Authority + "/Pay/WX/WxpayNotify.aspx";
            //商品ID
            string product_id = orderid.Substring(2, orderid.Length - 2);

            SortedDictionary <string, object> dic = new SortedDictionary <string, object>();

            dic.Add("nonce_str", nonce_str);
            dic.Add("body", body);
            dic.Add("trade_type", "NATIVE");
            dic.Add("out_trade_no", out_trade_no);
            dic.Add("total_fee", total_fee);
            dic.Add("spbill_create_ip", spbill_create_ip);
            dic.Add("notify_url", notify_url);
            dic.Add("product_id", product_id);

            pnlContinue.Visible = false;
            RenderAlertInfo(false, "页面正跳转到支付平台,请稍候。。。", 2);

            SortedDictionary <string, object> result = WeiXinHelper.UnifiedOrder(dic, 10);
            string        code    = result["return_code"].ToString();
            StringBuilder builder = new StringBuilder();

            builder.AppendLine(CreateInputHidden("return_code", code));
            builder.AppendLine(CreateInputHidden("return_msg", result["return_msg"].ToString()));
            if (code == "SUCCESS")
            {
                builder.AppendLine(CreateInputHidden("code_url", result["code_url"].ToString()));
                builder.AppendLine(CreateInputHidden("orderID", orderid));
                builder.AppendLine(CreateInputHidden("amount", amount.ToString()));
            }

            formData = builder.ToString();

            js = "<script>window.onload = function() { document.forms[0].submit(); }</script>";
        }
        protected void Page_Load(object sender, System.EventArgs e)
        {
            string formString = GameRequest.GetFormString("account");

            if (formString == "")
            {
                base.Response.Write("充值账号错误");
                base.Response.End();
            }
            int formInt = GameRequest.GetFormInt("amount", 0);

            if (formInt < 6)
            {
                base.Response.Write("充值金额不能低于6元");
                base.Response.End();
            }
            string      formString2 = GameRequest.GetFormString("type");
            OnLineOrder onLineOrder = new OnLineOrder();

            onLineOrder.OrderID = PayHelper.GetOrderIDByPrefix("45");
            if (Fetch.GetUserCookie() == null)
            {
                onLineOrder.OperUserID = 0;
            }
            else
            {
                onLineOrder.OperUserID = Fetch.GetUserCookie().UserID;
            }
            onLineOrder.Accounts    = formString;
            onLineOrder.OrderAmount = formInt;
            onLineOrder.IPAddress   = GameRequest.GetUserIP();
            string value = "";

            if (formString2 == "alipay")
            {
                value = "";
                onLineOrder.ShareID = 2;
                this.paytype        = "支付宝";
            }
            if (formString2 == "weixin")
            {
                value = "";
                onLineOrder.ShareID = 3;
                this.paytype        = "微信";
            }
            if (formString2 == "weixin-scan")
            {
                value = "";
                onLineOrder.ShareID = 5;
                this.paytype        = "微信";
            }
            Message message = FacadeManage.aideTreasureFacade.RequestOrder(onLineOrder);

            if (!message.Success)
            {
                base.Response.Write(message.Content);
                base.Response.End();
            }
            string url    = ApplicationSettings.Get("url_45");
            string value2 = ApplicationSettings.Get("parter_45");
            string text   = ApplicationSettings.Get("key_45");
            string text2  = ApplicationSettings.Get("pay_url");

            if (text2 == "")
            {
                text2 = "http://" + base.Request.Url.Host;
            }
            string value3 = text2 + "/pay/45/notify_url.aspx";

            System.Collections.Generic.Dictionary <string, string> dictionary = new System.Collections.Generic.Dictionary <string, string>();
            dictionary["v"]          = "1.0";
            dictionary["uid"]        = value2;
            dictionary["orderid"]    = onLineOrder.OrderID;
            dictionary["title"]      = "shop";
            dictionary["note"]       = "";
            dictionary["istype"]     = value;
            dictionary["amount"]     = formInt.ToString();
            dictionary["userpara"]   = "";
            dictionary["receiveurl"] = value3;
            dictionary["userIP "]    = GameRequest.GetUserIP();
            dictionary["returnurl"]  = value3;
            string password = string.Concat(new object[]
            {
                dictionary["uid"],
                dictionary["orderid"],
                formInt,
                dictionary["receiveurl"],
                text
            });
            string value4 = TextEncrypt.EncryptPassword(password).ToLower();

            dictionary["sign"] = value4;
            string param = PayHelper.PrepareSign(dictionary);
            string json  = HttpHelper.HttpRequest(url, param);

            System.Collections.Generic.Dictionary <string, string> dictionary2 = JsonHelper.DeserializeJsonToObject <System.Collections.Generic.Dictionary <string, string> >(json);
            if (!dictionary2.ContainsKey("result"))
            {
                base.Response.Write("接口正在维护中...");
            }
            else
            {
                if (dictionary2["result"].ToString() == "ok")
                {
                    base.Response.Redirect(dictionary2["data"]);
                }
                else
                {
                    base.Response.Write(dictionary2["msg"].ToString());
                }
            }
        }
        protected void Page_Load(object sender, System.EventArgs e)
        {
            string formString = GameRequest.GetFormString("account");

            if (formString == "")
            {
                base.Response.Write("充值账号错误");
                base.Response.End();
            }
            int formInt = GameRequest.GetFormInt("amount", 0);

            if (formInt < 6)
            {
                base.Response.Write("充值金额不能低于6元");
                base.Response.End();
            }
            string      text        = GameRequest.GetFormString("type");
            OnLineOrder onLineOrder = new OnLineOrder();

            onLineOrder.OrderID = PayHelper.GetOrderIDByPrefix("gf");
            if (Fetch.GetUserCookie() == null)
            {
                onLineOrder.OperUserID = 0;
            }
            else
            {
                onLineOrder.OperUserID = Fetch.GetUserCookie().UserID;
            }
            onLineOrder.Accounts    = formString;
            onLineOrder.OrderAmount = formInt;
            onLineOrder.IPAddress   = GameRequest.GetUserIP();
            string text3 = text;

            switch (text3)
            {
            case "alipay":
                text = "1006";
                onLineOrder.ShareID = 2;
                goto IL_240;

            case "weixin":
                text = "1007";
                onLineOrder.ShareID = 3;
                goto IL_240;

            case "alipay-scan":
                text                = "992";
                this.paytype        = "支付宝";
                onLineOrder.ShareID = 4;
                goto IL_240;

            case "weixin-scan":
                text                = "1004";
                this.paytype        = "微信";
                onLineOrder.ShareID = 5;
                goto IL_240;

            case "qq":
                text = "92";
                onLineOrder.ShareID = 6;
                goto IL_240;

            case "qq-scan":
                text                = "993";
                this.paytype        = "QQ";
                onLineOrder.ShareID = 8;
                goto IL_240;

            case "kuaijie":
                text = "1005";
                onLineOrder.ShareID = 7;
                goto IL_240;
            }
            text = "1";
            onLineOrder.ShareID = 1;
IL_240:
            Message message = FacadeManage.aideTreasureFacade.RequestOrder(onLineOrder);

            if (!message.Success)
            {
                base.Response.Write(message.Content);
                base.Response.End();
            }
            string str   = ApplicationSettings.Get("url_gf");
            string value = ApplicationSettings.Get("parter_gf");
            string str2  = ApplicationSettings.Get("key_gf");
            string text2 = ApplicationSettings.Get("pay_url");

            if (text2 == "")
            {
                text2 = "http://" + base.Request.Url.Host;
            }
            string orderID = onLineOrder.OrderID;
            string value2  = text2 + "/pay/guifu/notify_url.aspx";

            System.Collections.Generic.Dictionary <string, string> dictionary = new System.Collections.Generic.Dictionary <string, string>();
            dictionary["parter"]      = value;
            dictionary["type"]        = text;
            dictionary["value"]       = formInt.ToString("#0.00");
            dictionary["orderid"]     = orderID;
            dictionary["callbackurl"] = value2;
            string str3   = PayHelper.PrepareSign(dictionary);
            string value3 = TextEncrypt.EncryptPassword(str3 + str2).ToLower();

            dictionary["hrefbackurl"] = value2;
            dictionary["sign"]        = value3;
            string url = str + "?" + PayHelper.PrepareSign(dictionary);

            base.Response.Redirect(url);
        }
        protected void Page_Load(object sender, System.EventArgs e)
        {
            string formString = GameRequest.GetFormString("account");

            if (formString == "")
            {
                base.Response.Write("充值账号错误");
                base.Response.End();
            }
            int formInt = GameRequest.GetFormInt("amount", 0);

            if (formInt < 6)
            {
                base.Response.Write("充值金额不能低于6元");
                base.Response.End();
            }
            string      text        = GameRequest.GetFormString("type");
            OnLineOrder onLineOrder = new OnLineOrder();

            onLineOrder.OrderID = PayHelper.GetOrderIDByPrefix("lf");
            if (Fetch.GetUserCookie() == null)
            {
                onLineOrder.OperUserID = 0;
            }
            else
            {
                onLineOrder.OperUserID = Fetch.GetUserCookie().UserID;
            }
            onLineOrder.Accounts    = formString;
            onLineOrder.OrderAmount = formInt;
            onLineOrder.IPAddress   = GameRequest.GetUserIP();
            string text4 = text;

            switch (text4)
            {
            case "alipay":
                text = "alipaywap";
                onLineOrder.ShareID = 2;
                goto IL_240;

            case "weixin":
                text = "wxh5";
                onLineOrder.ShareID = 3;
                goto IL_240;

            case "alipay-scan":
                text                = "alipay";
                this.paytype        = "支付宝";
                onLineOrder.ShareID = 4;
                goto IL_240;

            case "weixin-scan":
                text                = "weixin";
                this.paytype        = "微信";
                onLineOrder.ShareID = 5;
                goto IL_240;

            case "qq":
                text = "qqwallet";
                onLineOrder.ShareID = 6;
                goto IL_240;

            case "qq-scan":
                text                = "QQZF";
                this.paytype        = "QQ";
                onLineOrder.ShareID = 8;
                goto IL_240;

            case "kuaijie":
                text = "bank";
                onLineOrder.ShareID = 7;
                goto IL_240;
            }
            text = "bank";
            onLineOrder.ShareID = 1;
IL_240:
            Message message = FacadeManage.aideTreasureFacade.RequestOrder(onLineOrder);

            if (!message.Success)
            {
                base.Response.Write(message.Content);
                base.Response.End();
            }
            string str   = ApplicationSettings.Get("url_lf");
            string value = ApplicationSettings.Get("parter_lf");
            string text2 = ApplicationSettings.Get("key_lf");
            string text3 = ApplicationSettings.Get("pay_url");

            if (text3 == "")
            {
                text3 = "http://" + base.Request.Url.Host;
            }
            string orderID = onLineOrder.OrderID;
            string value2  = text3 + "/pay/laifu/notify_url.aspx";

            System.Collections.Generic.Dictionary <string, string> dictionary = new System.Collections.Generic.Dictionary <string, string>();
            dictionary["version"]    = "1.0";
            dictionary["customerid"] = value;
            dictionary["sdorderno"]  = orderID;
            dictionary["total_fee"]  = formInt.ToString("#0.00");
            dictionary["paytype"]    = text;
            dictionary["notifyurl"]  = value2;
            dictionary["returnurl"]  = value2;
            string password = string.Format("version={0}&customerid={1}&total_fee={2}&sdorderno={3}&notifyurl={4}&returnurl={5}&{6}", new object[]
            {
                dictionary["version"],
                dictionary["customerid"],
                dictionary["total_fee"],
                dictionary["sdorderno"],
                dictionary["notifyurl"],
                dictionary["returnurl"],
                text2
            });
            string value3 = TextEncrypt.EncryptPassword(password).ToLower();

            dictionary["bankcode"] = "";
            dictionary["remark"]   = "";
            dictionary["sign"]     = value3;
            string url = str + "?" + PayHelper.PrepareSign(dictionary);

            base.Response.Redirect(url);
        }
Exemple #29
0
        protected void btnPay_Click(object sender, EventArgs e)
        {
            string strAccounts   = CtrlHelper.GetText(txtPayAccounts);
            string strReAccounts = CtrlHelper.GetText(txtPayReAccounts);
            int    salePrice     = Convert.ToInt32(ddlCurrenry.SelectedValue);

            if (strAccounts == "")
            {
                RenderAlertInfo(true, "抱歉,请输入充值帐号。", 2);
                return;
            }
            if (strReAccounts != strAccounts)
            {
                RenderAlertInfo(true, "抱歉,两次输入的帐号不一致。", 2);
                return;
            }
            if (salePrice < 10)
            {
                RenderAlertInfo(true, "抱歉,充值金额必须大于10元", 2);
                return;
            }

            OnLineOrder onlineOrder = new OnLineOrder();

            onlineOrder.ShareID = 12;
            onlineOrder.OrderID = PayHelper.GetOrderIDByPrefix("SX");

            #region 订单处理

            if (Fetch.GetUserCookie() == null)
            {
                onlineOrder.OperUserID = 0;
            }
            else
            {
                onlineOrder.OperUserID = Fetch.GetUserCookie().UserID;
            }
            onlineOrder.Accounts    = strAccounts;
            onlineOrder.OrderAmount = salePrice;
            onlineOrder.IPAddress   = GameRequest.GetUserIP();

            //生成订单
            Message umsg = FacadeManage.aideTreasureFacade.RequestOrder(onlineOrder, 200, 0);
            if (!umsg.Success)
            {
                RenderAlertInfo(true, umsg.Content, 2);
                return;
            }

            #endregion

            #region 提交给V币网关

            string spid      = ApplicationSettings.Get("spId");                                                  //换成商户sp号码 长度5位
            string sppwd     = ApplicationSettings.Get("spKeyValue");                                            //换成商户sp校验密钥  长度18位
            string spreq     = "http://" + HttpContext.Current.Request.Url.Authority + "/Pay/PayVB.aspx";        //换成商户请求地址
            string sprec     = "http://" + HttpContext.Current.Request.Url.Authority + "/Pay/PayVBReceive.aspx"; //换成商户接收地址
            string spname    = Server.UrlEncode(ApplicationSettings.Get("spName"));                              //需要 Server.UrlEncode编码
            string spcustom  = onlineOrder.Rate.ToString("f0");                                                  //需要 Server.UrlEncode编码  '客户自定义 30字符内 只能是数字、字母或数字字母的组合。不能用汉字。
            string spversion = "vpay1001";                                                                       //此接口的版本号码 此版本是"vpay1001"
            string money     = onlineOrder.OrderAmount.ToString("f0");                                           //接参数面值元
            string userid    = Server.UrlEncode(onlineOrder.Accounts);                                           //接参数用户ID 需要 Server.UrlEncode编码
            string urlcode   = "utf-8";                                                                          //编码  gbk  gb2312   utf-8  unicode   big5(注意不能一个繁体和简体字交叉写)  你程序的编码
            string orderId   = onlineOrder.OrderID;                                                              //客户订单 请妥善管理客户的订单  长度:30字符以内(只能是数字、字母或数字字母的组合。不能用汉字订单)
            string post_key  = orderId + spreq + sprec + spid + sppwd + spversion + money;
            // '网站订单号码+ 请求地址+ 接收地址 + 5位spid+ 18位SP密码+支付的版本号+面值
            //'LCase函数是将字符转换为小写; Ucase函数是将字符转换为大写
            //'全国声讯支付联盟全国声讯电话支付接口对MD5值只认大写字符串,所以小写的MD5值得转换为大写
            string md5password = TextEncrypt.EncryptPassword(post_key).ToUpper();//  '先MD532 然后转大写
            string IpAddress   = (HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null &&
                                  HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != String.Empty)
              ? HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]
              : HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

            #endregion

            #region 整理参数

            pnlContinue.Visible = false;
            RenderAlertInfo(false, "页面正跳转到支付平台,请稍候。。。", 2);

            HtmlGenericControl pnlSubmit = this.FindControl("pnlSubmit") as HtmlGenericControl;
            if (pnlSubmit != null)
            {
                pnlSubmit.Visible = true;
            }

            StringBuilder builder = new StringBuilder();
            builder.AppendLine(CreateInputHidden("spid", spid));
            builder.AppendLine(CreateInputHidden("spname", spname));
            builder.AppendLine(CreateInputHidden("spoid", orderId));
            builder.AppendLine(CreateInputHidden("spreq", spreq));
            builder.AppendLine(CreateInputHidden("sprec", sprec));
            builder.AppendLine(CreateInputHidden("userid", userid));
            builder.AppendLine(CreateInputHidden("userip", IpAddress));
            builder.AppendLine(CreateInputHidden("spmd5", md5password));
            builder.AppendLine(CreateInputHidden("spcustom", spcustom));
            builder.AppendLine(CreateInputHidden("spversion", spversion));
            builder.AppendLine(CreateInputHidden("money", money));
            builder.AppendLine(CreateInputHidden("urlcode", urlcode));

            litVB.Text = builder.ToString();

            #endregion
        }
        protected void Page_Load(object sender, System.EventArgs e)
        {
            string formString = GameRequest.GetFormString("account");

            if (formString == "")
            {
                base.Response.Write("充值账号错误");
                base.Response.End();
            }
            int formInt = GameRequest.GetFormInt("amount", 0);

            if (formInt < 6)
            {
                base.Response.Write("充值金额不能低于6元");
                base.Response.End();
            }
            string      text        = GameRequest.GetFormString("type");
            OnLineOrder onLineOrder = new OnLineOrder();

            onLineOrder.OrderID = PayHelper.GetOrderIDByPrefix("ruiyun");
            if (Fetch.GetUserCookie() == null)
            {
                onLineOrder.OperUserID = 0;
            }
            else
            {
                onLineOrder.OperUserID = Fetch.GetUserCookie().UserID;
            }
            onLineOrder.Accounts    = formString;
            onLineOrder.OrderAmount = formInt;
            onLineOrder.IPAddress   = GameRequest.GetUserIP();
            string text6 = text;

            switch (text6)
            {
            case "alipay":
                text = "1006";
                onLineOrder.ShareID = 2;
                goto IL_240;

            case "weixin":
                text = "1005";
                onLineOrder.ShareID = 3;
                goto IL_240;

            case "alipay-scan":
                text                = "992";
                this.paytype        = "支付宝";
                onLineOrder.ShareID = 4;
                goto IL_240;

            case "weixin-scan":
                text                = "1004";
                this.paytype        = "微信";
                onLineOrder.ShareID = 5;
                goto IL_240;

            case "qq":
                text = "1594";
                onLineOrder.ShareID = 6;
                goto IL_240;

            case "qq-scan":
                text                = "1593";
                this.paytype        = "QQ";
                onLineOrder.ShareID = 8;
                goto IL_240;

            case "kuaijie":
                text = "2088";
                onLineOrder.ShareID = 7;
                goto IL_240;
            }
            text = "1";
            onLineOrder.ShareID = 1;
IL_240:
            Message message = FacadeManage.aideTreasureFacade.RequestOrder(onLineOrder);

            if (!message.Success)
            {
                base.Response.Write(message.Content);
                base.Response.End();
            }
            string arg   = ApplicationSettings.Get("url_ruiyun");
            string text2 = ApplicationSettings.Get("parter_ruiyun");
            string str   = ApplicationSettings.Get("key_ruiyun");
            string text3 = ApplicationSettings.Get("pay_url");

            if (text3 == "")
            {
                text3 = "http://" + base.Request.Url.Host;
            }
            string arg_29A_0 = onLineOrder.OrderID;
            string text4     = text3 + "/pay/ruiyun/notify_url.aspx";
            string text5     = string.Format("parter={0}&type={1}&value={2}&orderid={3}&callbackurl={4}", new object[]
            {
                text2,
                text,
                onLineOrder.OrderAmount,
                onLineOrder.OrderID,
                text4
            });
            string url = string.Format("{0}?{1}&sign={2}", arg, text5, System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(text5 + str, "MD5").ToLower());

            base.Response.Redirect(url);
        }