Example #1
0
        protected void AddUserRecharge()
        {
            string  content     = string.Empty;
            decimal queryString = RequestHelper.GetQueryString <decimal>("Money");
            string  key         = StringHelper.AddSafe(RequestHelper.GetQueryString <string>("PayKey"));

            if ((queryString <= 0M) || (key == string.Empty))
            {
                content = "请填写金额和选择支付方式";
            }
            else
            {
                UserRechargeInfo userRecharge = new UserRechargeInfo();
                Random           random       = new Random();
                userRecharge.Number       = RequestHelper.DateNow.ToString("yyMMddhh") + random.Next(0x3e8, 0x270f);
                userRecharge.Money        = queryString;
                userRecharge.PayKey       = key;
                userRecharge.PayName      = PayPlugins.ReadPayPlugins(key).Name;
                userRecharge.RechargeDate = RequestHelper.DateNow;
                userRecharge.RechargeIP   = ClientHelper.IP;
                userRecharge.IsFinish     = 0;
                userRecharge.UserID       = base.UserID;
                userRecharge.UserName     = base.UserName;
                content = UserRechargeBLL.AddUserRecharge(userRecharge).ToString();
            }
            ResponseHelper.Write(content);
            ResponseHelper.End();
        }
        protected void AddUserRecharge()
        {
            decimal money  = RequestHelper.GetForm <decimal>("money");
            string  payKey = StringHelper.AddSafe(RequestHelper.GetForm <string>("pay"));

            if (money <= 0)
            {
                ResponseHelper.Write("error|请填写金额");
                ResponseHelper.End();
            }
            if (string.IsNullOrEmpty(payKey))
            {
                ResponseHelper.Write("error|请选择支付方式");
                ResponseHelper.End();
            }

            UserRechargeInfo userRecharge = new UserRechargeInfo();
            Random           rd           = new Random();

            userRecharge.Number       = RequestHelper.DateNow.ToString("yyMMddhh") + rd.Next(1000, 9999);
            userRecharge.Money        = money;
            userRecharge.PayKey       = payKey;
            userRecharge.PayName      = PayPlugins.ReadPayPlugins(payKey).Name;
            userRecharge.RechargeDate = RequestHelper.DateNow;
            userRecharge.RechargeIP   = ClientHelper.IP;
            userRecharge.IsFinish     = (int)BoolType.False;
            userRecharge.UserId       = base.UserId;
            int id = UserRechargeBLL.Add(userRecharge);

            ResponseHelper.Write("ok|" + id);
            ResponseHelper.End();
        }
        protected override void PageLoad()
        {
            base.PageLoad();
            action = RequestHelper.GetQueryString <string>("Action");
            switch (action)
            {
            case "Read":
                userRechargeList = UserRechargeBLL.ReadList(base.UserId);
                break;

            case "Add":
                payPluginsList = PayPlugins.ReadRechargePayPluginsList();
                //webservice
                //var account = WebService.Account.GetAccount();
                //moneyLeft = account.Zacc;
                break;

            case "AddUserRecharge":
                AddUserRecharge();
                break;

            default:
                break;
            }
        }
Example #4
0
        protected void DeleteButton_Click(object sender, EventArgs e)
        {
            base.CheckAdminPower("DeleteUserRecharge", PowerCheckType.Single);
            string intsForm = RequestHelper.GetIntsForm("SelectID");

            if (intsForm != string.Empty)
            {
                UserRechargeBLL.DeleteUserRecharge(intsForm, 0);
                AdminLogBLL.AddAdminLog(ShopLanguage.ReadLanguage("DeleteRecord"), ShopLanguage.ReadLanguage("UserRecharge"), intsForm);
                ScriptHelper.Alert(ShopLanguage.ReadLanguage("DeleteOK"), RequestHelper.RawUrl);
            }
        }
Example #5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            PayConfig payConfig = new PayConfig();
            int       userID    = Cookies.User.GetUserID(true);
            Md5Pay    md5pay    = new Md5Pay();
            string    action    = RequestHelper.GetQueryString <string>("Action");

            switch (action)
            {
            case "Apply":
                int applyID = RequestHelper.GetQueryString <int>("ApplyID");
                UserRechargeInfo userRecharge = UserRechargeBLL.ReadUserRecharge(applyID, userID);
                md5pay.Sp_billno = userRecharge.Number;
                md5pay.Desc      = "网上冲值:" + userRecharge.Number;
                md5pay.Total_fee = Convert.ToInt64(userRecharge.Money * 100);
                break;

            case "PayOrder":
                int       orderID = RequestHelper.GetQueryString <int>("OrderID");
                OrderInfo order   = OrderBLL.ReadOrder(orderID, userID);
                md5pay.Sp_billno = order.OrderNumber;
                md5pay.Desc      = "在线支付:" + order.OrderNumber;
                md5pay.Total_fee = Convert.ToInt64((order.ProductMoney - order.FavorableMoney + order.ShippingMoney + order.OtherMoney - order.Balance - order.CouponMoney) * 100);
                break;

            default:
                break;
            }
            md5pay.Bargainor_id   = payConfig.BargainorID;                                                                //卖家商户号
            md5pay.Key            = payConfig.BusinessKey;                                                                //卖家商户key
            md5pay.Date           = DateTime.Now.ToString("yyyyMMdd");                                                    //交易日期
            md5pay.Attach         = "tenpay";                                                                             //交易标识
            md5pay.Purchaser_id   = "";                                                                                   //买家帐号
            md5pay.Return_url     = "http://" + Request.ServerVariables["Http_Host"] + "/Plugins/Pay/TenPay/Return.aspx"; //商户回调url
            md5pay.Transaction_id = md5pay.Bargainor_id + md5pay.Date + md5pay.UnixStamp();                               //財付通交易号,需保证此订单号每天唯一,切不能重复!
            //  md5pay.Spbill_create_ip = Page.Request.UserHostAddress;
            string url = "";

            if (!md5pay.GetPayUrl(out url))
            {
                ResponseHelper.Write("创建地址失败");
            }
            else
            {
                Response.Redirect(url);
            }
        }
Example #6
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!this.Page.IsPostBack)
     {
         base.CheckAdminPower("ReadUserRecharge", PowerCheckType.Single);
         UserRechargeSearchInfo userRecharge = new UserRechargeSearchInfo();
         userRecharge.Number            = RequestHelper.GetQueryString <string>("Number");
         userRecharge.StartRechargeDate = RequestHelper.GetQueryString <DateTime>("StartRechargeDate");
         userRecharge.EndRechargeDate   = ShopCommon.SearchEndDate(RequestHelper.GetQueryString <DateTime>("EndRechargeDate"));
         userRecharge.IsFinish          = RequestHelper.GetQueryString <int>("IsFinish");
         userRecharge.UserName          = RequestHelper.GetQueryString <string>("UserName");
         this.Number.Text            = userRecharge.Number;
         this.StartRechargeDate.Text = RequestHelper.GetQueryString <string>("StartRechargeDate");
         this.EndRechargeDate.Text   = RequestHelper.GetQueryString <string>("EndRechargeDate");
         this.IsFinish.Text          = RequestHelper.GetQueryString <string>("IsFinish");
         this.UserName.Text          = RequestHelper.GetQueryString <string>("UserName");
         base.BindControl(UserRechargeBLL.SearchUserRechargeList(base.CurrentPage, base.PageSize, userRecharge, ref this.Count), this.RecordList, this.MyPager);
     }
 }
Example #7
0
        protected void Page_Load(object sender, EventArgs e)
        {
            PayConfig payConfig = new PayConfig();

            merchant_id.Value = payConfig.MerchantID;           ///商户编号
            string merchant_key = payConfig.MerchantKey;        ///商户密钥
            string action       = RequestHelper.GetQueryString <string>("Action");
            int    userID       = Cookies.User.GetUserID(true);

            switch (action)
            {
            case "Apply":
                int applyID = RequestHelper.GetQueryString <int>("ApplyID");
                UserRechargeInfo userRecharge = UserRechargeBLL.ReadUserRecharge(applyID, userID);
                orderid.Value        = userRecharge.Number;           ///订单编号
                amount.Value         = userRecharge.Money.ToString(); ///订单金额
                commodity_info.Value = "网上冲值:" + userRecharge.Number; ///商品信息,如果含中文请通过System.Web.HttpUtility.UrlEncode()编码
                break;

            case "PayOrder":
                int       orderID = RequestHelper.GetQueryString <int>("OrderID");
                OrderInfo order   = OrderBLL.ReadOrder(orderID, userID);
                orderid.Value        = order.OrderNumber;                                                                                                                   ///订单编号
                amount.Value         = (order.ProductMoney - order.FavorableMoney + order.ShippingMoney + order.OtherMoney - order.Balance - order.CouponMoney).ToString(); ///订单金额
                commodity_info.Value = "在线支付:" + order.OrderNumber;                                                                                                         ///商品信息,如果含中文请通过System.Web.HttpUtility.UrlEncode()编码
                break;

            default:
                break;
            }
            currency.Value       = "1";                                                                                   ///货币类型,1为人民币
            isSupportDES.Value   = "2";                                                                                   ///是否安全校验,2为必校验,推荐
            merchant_url.Value   = "http://" + Request.ServerVariables["Http_Host"] + "/Plugins/Pay/BillPay/Return.aspx"; ///支付结果返回地址
            pname.Value          = "";                                                                                    ///支付人姓名,如果含中文请通过System.Web.HttpUtility.UrlEncode()编码
            merchant_param.Value = "";                                                                                    ///商户私有参数
            pemail.Value         = "";                                                                                    ///传递email到快钱网关页面
            pid.Value            = "";                                                                                    ///代理/合作伙伴商户编号

            ///生成加密串,注意顺序
            String ScrtStr = "merchant_id=" + merchant_id.Value + "&orderid=" + orderid.Value + "&amount=" + amount.Value + "&merchant_url=" + merchant_url.Value + "&merchant_key=" + merchant_key;

            mac.Value = FormsAuthentication.HashPasswordForStoringInConfigFile(ScrtStr, "MD5");
        }
Example #8
0
        protected override void PageLoad()
        {
            base.PageLoad();
            this.action = RequestHelper.GetQueryString <string>("Action");
            string action = this.action;

            if (action != null)
            {
                if (!(action == "Read"))
                {
                    if (action == "Add")
                    {
                        this.payPluginsList = PayPlugins.ReadRechargePayPluginsList();
                        this.moneyLeft      = UserBLL.ReadUserMore(base.UserID).MoneyLeft;
                    }
                    else if (action == "AddUserRecharge")
                    {
                        this.AddUserRecharge();
                    }
                }
                else
                {
                    int queryString = RequestHelper.GetQueryString <int>("Page");
                    if (queryString < 1)
                    {
                        queryString = 1;
                    }
                    int pageSize = 20;
                    int count    = 0;
                    UserRechargeSearchInfo userRecharge = new UserRechargeSearchInfo();
                    userRecharge.UserID             = base.UserID;
                    this.userRechargeList           = UserRechargeBLL.SearchUserRechargeList(queryString, pageSize, userRecharge, ref count);
                    this.ajaxPagerClass.CurrentPage = queryString;
                    this.ajaxPagerClass.PageSize    = pageSize;
                    this.ajaxPagerClass.Count       = count;
                }
            }
        }
Example #9
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string suchtml = "<meta content=\"China TENCENT\" name=\"TENCENT_ONLINE_PAYMENT\">\n"
                             + "<script language=\"javascript\">\n"
                             + "window.location.href='http://" + Request.ServerVariables["Http_Host"] + "/Plugins/Pay/TenPay/Show.aspx';\n"
                             + "</script>";
            string errmsg = "";

            PayConfig payConfig = new PayConfig();
            Md5Pay    md5pay    = new Md5Pay();

            md5pay.Key          = payConfig.BusinessKey; //卖家商户key
            md5pay.Bargainor_id = payConfig.BargainorID;
            //判断签名
            if (md5pay.GetPayValueFromUrl(Request.QueryString, out errmsg))
            {
                //认证签名成功
                //支付判断
                if (md5pay.Pay_Result == Md5Pay.PAYOK)
                {
                    //支付成功,同定单号md5pay.Transaction_id可能会多次通知,请务必注意判断订单是否重复的逻辑
                    //跳转到成功页面,财付通收到<meta content=\"China TENCENT\" name=\"TENCENT_ONLINE_PAYMENT\">,认为通知成功
                    string    orderNumber = md5pay.Sp_billno;
                    OrderInfo order       = OrderBLL.ReadOrderByNumber(orderNumber, 0);
                    if (order.ID > 0)
                    {
                        if (order.OrderStatus == (int)OrderStatus.WaitPay)
                        {
                            order.OrderStatus = (int)OrderStatus.WaitCheck;
                            OrderBLL.UpdateOrder(order);
                            //增加操作记录
                            OrderActionInfo orderAction = new OrderActionInfo();
                            orderAction.OrderID          = order.ID;
                            orderAction.OrderOperate     = (int)OrderOperate.Pay;
                            orderAction.StartOrderStatus = (int)OrderStatus.WaitPay;
                            orderAction.EndOrderStatus   = (int)OrderStatus.WaitCheck;
                            orderAction.Note             = "客户财付通在线支付";
                            orderAction.IP        = ClientHelper.IP;
                            orderAction.Date      = RequestHelper.DateNow;
                            orderAction.AdminID   = 0;
                            orderAction.AdminName = string.Empty;
                            OrderActionBLL.AddOrderAction(orderAction);
                        }
                    }
                    else
                    {
                        UserRechargeInfo userRecharge = UserRechargeBLL.ReadUserRechargeByNumber(orderNumber, 0);
                        if (userRecharge.ID > 0 && userRecharge.IsFinish == (int)BoolType.False)
                        {
                            userRecharge.IsFinish = (int)BoolType.True;
                            UserRechargeBLL.UpdateUserRecharge(userRecharge);
                            //账户记录
                            string note = "财付通在线冲值:" + userRecharge.Number;
                            UserAccountRecordBLL.AddUserAccountRecord(userRecharge.Money, 0, note, userRecharge.UserID, userRecharge.UserName);
                        }
                    }
                    //StreamWriter sw = File.AppendText(Server.MapPath("log.txt"));
                    //sw.WriteLine(DateTime.Now.ToString() + orderNumber);
                    //sw.Flush();
                    //sw.Close();
                    Response.Write(suchtml);
                }
                else
                {
                    //支付失败,请不要按成功处理
                    Response.Write("支付失败" + errmsg);
                }
            }
            else
            {
                //认证签名失败
                Response.Write("认证签名失败");
            }
        }
Example #10
0
        protected void Page_Load(object sender, EventArgs e)
        {
            PayConfig payConfig       = new PayConfig();
            string    alipayNotifyURL = "https://www.alipay.com/cooperate/gateway.do?";
            string    key             = payConfig.SecurityKey; //partner 的对应交易安全校验码(必须填写)
            string    _input_charset  = "utf-8";
            string    partner         = payConfig.Partner;     //partner合作伙伴id(必须填写)

            alipayNotifyURL = alipayNotifyURL + "service=notify_verify" + "&partner=" + partner + "&notify_id=" + Request.QueryString["notify_id"];
            //获取支付宝ATN返回结果,true是正确的订单信息,false 是无效的
            string responseTxt = Get_Http(alipayNotifyURL, 120000);
            int    i;
            NameValueCollection coll = Request.QueryString;

            String[] requestarr = coll.AllKeys;
            //进行排序;
            string[] Sortedstr = BubbleSort(requestarr);
            //构造待md5摘要字符串 ;
            StringBuilder prestr = new StringBuilder();

            for (i = 0; i < Sortedstr.Length; i++)
            {
                if (Request.Form[Sortedstr[i]] != "" && Sortedstr[i] != "sign" && Sortedstr[i] != "sign_type")
                {
                    if (i == Sortedstr.Length - 1)
                    {
                        prestr.Append(Sortedstr[i] + "=" + Request.QueryString[Sortedstr[i]]);
                    }
                    else
                    {
                        prestr.Append(Sortedstr[i] + "=" + Request.QueryString[Sortedstr[i]] + "&");
                    }
                }
            }
            prestr.Append(key);
            //生成Md5摘要;
            string mysign = GetMD5(prestr.ToString(), _input_charset);
            string sign   = Request.QueryString["sign"];

            if (mysign == sign && responseTxt == "true")   //验证支付发过来的消息,签名是否正确
            {
                //更新数据库的订单语句
                message = "成功付款";
                string    orderNumber = RequestHelper.GetQueryString <string>("out_trade_no");
                OrderInfo order       = OrderBLL.ReadOrderByNumber(orderNumber, 0);
                if (order.ID > 0)
                {
                    if (order.OrderStatus == (int)OrderStatus.WaitPay)
                    {
                        order.OrderStatus = (int)OrderStatus.WaitCheck;
                        OrderBLL.UpdateOrder(order);
                        //增加操作记录
                        OrderActionInfo orderAction = new OrderActionInfo();
                        orderAction.OrderID          = order.ID;
                        orderAction.OrderOperate     = (int)OrderOperate.Pay;
                        orderAction.StartOrderStatus = (int)OrderStatus.WaitPay;
                        orderAction.EndOrderStatus   = (int)OrderStatus.WaitCheck;
                        orderAction.Note             = "客户支付宝在线支付";
                        orderAction.IP        = ClientHelper.IP;
                        orderAction.Date      = RequestHelper.DateNow;
                        orderAction.AdminID   = 0;
                        orderAction.AdminName = string.Empty;
                        OrderActionBLL.AddOrderAction(orderAction);

                        message = "您已经成功支付订单:" + orderNumber;
                    }
                }
                else
                {
                    UserRechargeInfo userRecharge = UserRechargeBLL.ReadUserRechargeByNumber(orderNumber, 0);
                    if (userRecharge.ID > 0 && userRecharge.IsFinish == (int)BoolType.False)
                    {
                        userRecharge.IsFinish = (int)BoolType.True;
                        UserRechargeBLL.UpdateUserRecharge(userRecharge);
                        //账户记录
                        string note = "支付宝在线冲值:" + userRecharge.Number;
                        UserAccountRecordBLL.AddUserAccountRecord(userRecharge.Money, 0, note, userRecharge.UserID, userRecharge.UserName);

                        message = "您的冲值已经成功完成";
                    }
                }
            }
            else
            {
                message = "支付订单出现问题";
            }
        }
Example #11
0
        protected void Page_Load(object sender, EventArgs e)
        {
            PayConfig payConfig       = new PayConfig();
            string    alipayNotifyURL = "https://www.alipay.com/cooperate/gateway.do?";
            string    key             = payConfig.SecurityKey; //partner 的对应交易安全校验码(必须填写)
            string    partner         = payConfig.Partner;     //partner合作伙伴id(必须填写)

            alipayNotifyURL = alipayNotifyURL + "service=notify_verify" + "&partner=" + partner + "&notify_id=" + Request.Form["notify_id"];
            //获取支付宝ATN返回结果,true是正确的订单信息,false 是无效的
            string responseTxt = Get_Http(alipayNotifyURL, 120000000);
            int    i;
            NameValueCollection coll = Request.Form;

            String[] requestarr = coll.AllKeys;
            //进行排序;
            string[] Sortedstr = BubbleSort(requestarr);
            //构造待md5摘要字符串 ;
            string prestr = "";

            for (i = 0; i < Sortedstr.Length; i++)
            {
                if (Request.Form[Sortedstr[i]] != "" && Sortedstr[i] != "sign" && Sortedstr[i] != "sign_type")
                {
                    if (i == Sortedstr.Length - 1)
                    {
                        prestr = prestr + Sortedstr[i] + "=" + Request.Form[Sortedstr[i]];
                    }
                    else
                    {
                        prestr = prestr + Sortedstr[i] + "=" + Request.Form[Sortedstr[i]] + "&";
                    }
                }
            }
            prestr = prestr + key;
            //生成Md5摘要;
            string mysign = GetMD5(prestr);
            string sign   = Request.Form["sign"];

            //StreamWriter sw = File.AppendText(Server.MapPath("log.txt"));
            //sw.WriteLine(DateTime.Now.ToString() + "返回页面:" + RequestHelper.GetStringForm("out_trade_no") + ":" + Request.Form["trade_status"]);
            //sw.WriteLine("mysign:" + mysign + ";sign:" + sign + ";responseTxt:" + responseTxt);
            //sw.Flush();
            //sw.Close();

            if (mysign == sign && responseTxt == "true")   //验证支付发过来的消息,签名是否正确
            {
                //sw = File.AppendText(Server.MapPath("log.txt"));
                //sw.WriteLine(DateTime.Now.ToString() + "验证成功:" + RequestHelper.GetStringForm("out_trade_no") +":"+ Request.Form["trade_status"]);
                //sw.Flush();
                //sw.Close();

                if (Request.Form["trade_status"] == "TRADE_FINISHED" || Request.Form["trade_status"] == "WAIT_SELLER_SEND_GOODS")//   判断支付状态TRADE_FINISHED(文档中有枚举表可以参考)
                {
                    //更新数据库的订单语句
                    string    orderNumber = RequestHelper.GetForm <string>("out_trade_no");
                    OrderInfo order       = OrderBLL.ReadOrderByNumber(orderNumber, 0);
                    if (order.ID > 0)
                    {
                        if (order.OrderStatus == (int)OrderStatus.WaitPay)
                        {
                            order.OrderStatus = (int)OrderStatus.WaitCheck;
                            OrderBLL.UpdateOrder(order);
                            //增加操作记录
                            OrderActionInfo orderAction = new OrderActionInfo();
                            orderAction.OrderID          = order.ID;
                            orderAction.OrderOperate     = (int)OrderOperate.Pay;
                            orderAction.StartOrderStatus = (int)OrderStatus.WaitPay;
                            orderAction.EndOrderStatus   = (int)OrderStatus.WaitCheck;
                            orderAction.Note             = "客户支付宝在线支付";
                            orderAction.IP        = ClientHelper.IP;
                            orderAction.Date      = RequestHelper.DateNow;
                            orderAction.AdminID   = 0;
                            orderAction.AdminName = string.Empty;
                            OrderActionBLL.AddOrderAction(orderAction);
                        }
                    }
                    else
                    {
                        UserRechargeInfo userRecharge = UserRechargeBLL.ReadUserRechargeByNumber(orderNumber, 0);
                        if (userRecharge.ID > 0 && userRecharge.IsFinish == (int)BoolType.False)
                        {
                            userRecharge.IsFinish = (int)BoolType.True;
                            UserRechargeBLL.UpdateUserRecharge(userRecharge);
                            //账户记录
                            string note = "支付宝在线冲值:" + userRecharge.Number;
                            UserAccountRecordBLL.AddUserAccountRecord(userRecharge.Money, 0, note, userRecharge.UserID, userRecharge.UserName);
                        }
                    }
                    Response.Write("success");
                }
                else
                {
                    Response.Write("fail");
                }
            }
            else
            {
                Response.Write("fail");
            }
        }
Example #12
0
        protected void Page_Load(object sender, EventArgs e)
        {
            PayConfig payConfig      = new PayConfig();
            string    merchant_key   = payConfig.MerchantKey;                ///商户密钥
            string    merchant_id    = Request["merchant_id"].ToString();    ///获取商户编号
            string    orderid        = Request["orderid"].ToString();        ///获取订单编号
            string    amount         = Request["amount"].ToString();         ///获取订单金额
            string    dealdate       = Request["date"].ToString();           ///获取交易日期
            string    succeed        = Request["succeed"].ToString();        ///获取交易结果,Y成功,N失败
            string    mac            = Request["mac"].ToString();            ///获取安全加密串
            string    merchant_param = Request["merchant_param"].ToString(); ///获取商户私有参数

            string couponid    = Request["couponid"].ToString();             ///获取优惠券编码
            string couponvalue = Request["couponvalue"].ToString();          ///获取优惠券面额

            ///生成加密串,注意顺序
            string SrctStr = "merchant_id=" + merchant_id + "&orderid=" + orderid + "&amount=" + amount + "&date=" + dealdate + "&succeed=" + succeed + "&merchant_key=" + merchant_key;
            string mymac   = FormsAuthentication.HashPasswordForStoringInConfigFile(SrctStr, "MD5");


            if (mac == mymac)
            {
                if (succeed == "Y")
                {
                    //更新数据库的订单语句
                    message = "成功付款";
                    string    orderNumber = orderid;
                    OrderInfo order       = OrderBLL.ReadOrderByNumber(orderNumber, 0);
                    if (order.ID > 0)
                    {
                        if (order.OrderStatus == (int)OrderStatus.WaitPay)
                        {
                            order.OrderStatus = (int)OrderStatus.WaitCheck;
                            OrderBLL.UpdateOrder(order);
                            //增加操作记录
                            OrderActionInfo orderAction = new OrderActionInfo();
                            orderAction.OrderID          = order.ID;
                            orderAction.OrderOperate     = (int)OrderOperate.Pay;
                            orderAction.StartOrderStatus = (int)OrderStatus.WaitPay;
                            orderAction.EndOrderStatus   = (int)OrderStatus.WaitCheck;
                            orderAction.Note             = "客户快钱在线支付";
                            orderAction.IP        = ClientHelper.IP;
                            orderAction.Date      = RequestHelper.DateNow;
                            orderAction.AdminID   = 0;
                            orderAction.AdminName = string.Empty;
                            OrderActionBLL.AddOrderAction(orderAction);

                            message = "您已经成功支付订单:" + orderNumber;
                        }
                    }
                    else
                    {
                        UserRechargeInfo userRecharge = UserRechargeBLL.ReadUserRechargeByNumber(orderNumber, 0);
                        if (userRecharge.ID > 0 && userRecharge.IsFinish == (int)BoolType.False)
                        {
                            userRecharge.IsFinish = (int)BoolType.True;
                            UserRechargeBLL.UpdateUserRecharge(userRecharge);
                            //账户记录
                            string note = "快钱在线冲值:" + userRecharge.Number;
                            UserAccountRecordBLL.AddUserAccountRecord(userRecharge.Money, 0, note, userRecharge.UserID, userRecharge.UserName);

                            message = "您的冲值已经成功完成";
                        }
                    }
                }
                else
                {
                    message = "支付订单失败";
                }
            }
            else
            {
                message = "签名错误";
            }
        }
Example #13
0
        protected void Page_Load(object sender, EventArgs e)
        {
            PayConfig payConfig     = new PayConfig();
            string    out_trade_no  = string.Empty; //订单号
            string    subject       = "";           //商品名称
            string    body          = "";           //商品描述
            string    price         = "";           //单价
            string    quantity      = "";           //数量
            string    show_url      = "";           //展示地址
            string    logistics_fee = "";           //邮费
            string    action        = RequestHelper.GetQueryString <string>("Action");
            int       userID        = Cookies.User.GetUserID(true);
            string    service       = payConfig.Service; //服务参数 trade_create_by_buyer 标准双接口交易 create_direct_pay_by_user 直接付款,create_partner_trade_by_buyer 担保付款

            switch (action)
            {
            case "Apply":
                int applyID = RequestHelper.GetQueryString <int>("ApplyID");
                UserRechargeInfo userRecharge = UserRechargeBLL.ReadUserRecharge(applyID, userID);
                out_trade_no  = userRecharge.Number;
                subject       = "在线冲值:" + userRecharge.Number;
                body          = "在线冲值";
                price         = userRecharge.Money.ToString();
                quantity      = "1";
                show_url      = "http://" + Request.ServerVariables["Http_Host"];
                logistics_fee = "0";
                break;

            case "PayOrder":
                int       orderID = RequestHelper.GetQueryString <int>("OrderID");
                OrderInfo order   = OrderBLL.ReadOrder(orderID, userID);
                out_trade_no  = order.OrderNumber;
                subject       = "在线支付:" + order.OrderNumber;
                body          = "在线支付";
                price         = (order.ProductMoney - order.FavorableMoney + order.ShippingMoney + order.OtherMoney - order.Balance - order.CouponMoney).ToString();
                quantity      = "1";
                show_url      = "http://" + Request.ServerVariables["Http_Host"];
                logistics_fee = "0";
                break;

            default:
                break;
            }
            string gateway           = "https://www.alipay.com/cooperate/gateway.do?";                                       //'支付接口
            string partner           = payConfig.Partner;                                                                    //	合作伙伴ID
            string sign_type         = "MD5";                                                                                //加密协议
            string payment_type      = "1";                                                                                  //支付类型
            string seller_email      = payConfig.SellerEmail;                                                                //卖家账号
            string key               = payConfig.SecurityKey;                                                                //partner账户的支付宝安全校验码
            string return_url        = "http://" + Request.ServerVariables["Http_Host"] + "/Plugins/Pay/AliPay/Return.aspx"; //服务器返回接口
            string notify_url        = "http://" + Request.ServerVariables["Http_Host"] + "/Plugins/Pay/AliPay/Notify.aspx"; //服务器通知接口
            string _input_charset    = "utf-8";
            string logistics_type    = "POST";
            string logistics_payment = "BUYER_PAY";
            AliPay ap        = new AliPay();
            string aliay_url = ap.CreatUrl(
                gateway,
                service,
                partner,
                sign_type,
                out_trade_no,
                subject,
                body,
                payment_type,
                price,
                show_url,
                seller_email,
                key,
                return_url,
                _input_charset,
                notify_url,
                logistics_type,
                logistics_fee,
                logistics_payment,
                quantity
                );

            Response.Redirect(aliay_url);
        }