コード例 #1
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");
            }
        }
コード例 #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);
            }
        }
コード例 #3
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);
        }
コード例 #4
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");
            }
        }
コード例 #5
0
ファイル: PayVBReceive.aspx.cs プロジェクト: archangelwin/QY
        //更新数据
        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)
            {
                litMsg.Text = "没有此订单信息";
                return;
            }
            treasureFacade.WriteReturnVBDetail(result);

            //'步骤1  :包含A和B
            //'A步骤,盈华讯方服务器第一次探测商户服务器状态.并给该订单充值
            //'B步骤,检查该订单如果订单使用了 就把该订单的充值记录给用户打印.
            if (rtflag == "1")
            {
                if (md5password == rtmd5)
                {
                    //'校验商户订单号码状态
                    string      orderID = rtcoid.Trim();
                    OnLineOrder order   = treasureFacade.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 = treasureFacade.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   = treasureFacade.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 = treasureFacade.FilliedOnline(detailInfo, 1);
                            if (msg.Success)
                            {
                                BindText(order);
                            }
                        }
                        else
                        {
                            BindText(order);
                        }
                    }
                }
            }
        }