Ejemplo n.º 1
0
        private bool DoAdd()
        {
            Rain.Model.users model1 = new Rain.BLL.users().GetModel(this.txtUserName.Text.Trim());
            if (model1 == null)
            {
                return(false);
            }
            bool flag = false;

            Rain.Model.user_recharge model2       = new Rain.Model.user_recharge();
            Rain.BLL.user_recharge   userRecharge = new Rain.BLL.user_recharge();
            model2.user_id       = model1.id;
            model2.user_name     = model1.user_name;
            model2.recharge_no   = "R" + this.txtRechargeNo.Text.Trim();
            model2.payment_id    = Utils.StrToInt(this.ddlPaymentId.SelectedValue, 0);
            model2.amount        = Utils.StrToDecimal(this.txtAmount.Text.Trim(), new Decimal(0));
            model2.status        = 1;
            model2.add_time      = DateTime.Now;
            model2.complete_time = new DateTime?(DateTime.Now);
            if (userRecharge.Recharge(model2))
            {
                this.AddAdminLog(DTEnums.ActionEnum.Add.ToString(), "给会员:" + model2.user_name + ",充值:" + (object)model2.amount + "元");
                flag = true;
            }
            return(flag);
        }
Ejemplo n.º 2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            TenpayUtil      tenpayUtil      = new TenpayUtil();
            ResponseHandler responseHandler = new ResponseHandler(this.Context);

            responseHandler.setKey(tenpayUtil.key);
            if (responseHandler.isTenpaySign())
            {
                string         parameter1     = responseHandler.getParameter("notify_id");
                RequestHandler requestHandler = new RequestHandler(this.Context);
                requestHandler.init();
                requestHandler.setKey(tenpayUtil.key);
                requestHandler.setGateUrl("https://gw.tenpay.com/gateway/simpleverifynotifyid.xml");
                requestHandler.setParameter("partner", tenpayUtil.partner);
                requestHandler.setParameter("notify_id", parameter1);
                TenpayHttpClient tenpayHttpClient = new TenpayHttpClient();
                tenpayHttpClient.setTimeOut(5);
                tenpayHttpClient.setReqContent(requestHandler.getRequestURL());
                if (tenpayHttpClient.call())
                {
                    ClientResponseHandler clientResponseHandler = new ClientResponseHandler();
                    clientResponseHandler.setContent(tenpayHttpClient.getResContent());
                    clientResponseHandler.setKey(tenpayUtil.key);
                    if (clientResponseHandler.isTenpaySign())
                    {
                        string upper      = responseHandler.getParameter("out_trade_no").ToUpper();
                        string parameter2 = responseHandler.getParameter("transaction_id");
                        string parameter3 = responseHandler.getParameter("total_fee");
                        responseHandler.getParameter("discount");
                        string parameter4 = responseHandler.getParameter("trade_state");
                        string parameter5 = responseHandler.getParameter("trade_mode");
                        if ("0".Equals(clientResponseHandler.getParameter("retcode")))
                        {
                            if ("1".Equals(parameter5))
                            {
                                if ("0".Equals(parameter4))
                                {
                                    if (upper.StartsWith("R"))
                                    {
                                        Rain.BLL.user_recharge   userRecharge = new Rain.BLL.user_recharge();
                                        Rain.Model.user_recharge model        = userRecharge.GetModel(upper);
                                        if (model == null)
                                        {
                                            this.Response.Write("该订单号不存在");
                                            return;
                                        }
                                        if (model.status == 1)
                                        {
                                            this.Response.Write("success");
                                            return;
                                        }
                                        if (model.amount != Decimal.Parse(parameter3) / new Decimal(100))
                                        {
                                            this.Response.Write("订单金额和支付金额不相符");
                                            return;
                                        }
                                        if (!userRecharge.Confirm(upper))
                                        {
                                            this.Response.Write("修改订单状态失败");
                                            return;
                                        }
                                    }
                                    else if (upper.StartsWith("B"))
                                    {
                                        Rain.BLL.orders   orders = new Rain.BLL.orders();
                                        Rain.Model.orders model  = orders.GetModel(upper);
                                        if (model == null)
                                        {
                                            this.Response.Write("该订单号不存在");
                                            return;
                                        }
                                        if (model.payment_status == 2)
                                        {
                                            this.Response.Write("success");
                                            return;
                                        }
                                        if (model.order_amount != Decimal.Parse(parameter3) / new Decimal(100))
                                        {
                                            this.Response.Write("订单金额和支付金额不相符");
                                            return;
                                        }
                                        if (!orders.UpdateField(upper, "trade_no='" + parameter2 + "',status=2,payment_status=2,payment_time='" + (object)DateTime.Now + "'"))
                                        {
                                            this.Response.Write("修改订单状态失败");
                                            return;
                                        }
                                        if (model.point < 0)
                                        {
                                            new Rain.BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false);
                                        }
                                    }
                                    this.Response.Write("success");
                                }
                                else
                                {
                                    this.Response.Write("即时到账支付失败");
                                }
                            }
                            else if ("2".Equals(parameter5))
                            {
                                if ("0".Equals(parameter4))
                                {
                                    if (upper.StartsWith("R"))
                                    {
                                        Rain.BLL.user_recharge   userRecharge = new Rain.BLL.user_recharge();
                                        Rain.Model.user_recharge model        = userRecharge.GetModel(upper);
                                        if (model == null)
                                        {
                                            this.Response.Write("该订单号不存在");
                                            return;
                                        }
                                        if (model.status == 1)
                                        {
                                            this.Response.Write("success");
                                            return;
                                        }
                                        if (model.amount != Decimal.Parse(parameter3) / new Decimal(100))
                                        {
                                            this.Response.Write("订单金额和支付金额不相符");
                                            return;
                                        }
                                        if (!userRecharge.Confirm(upper))
                                        {
                                            this.Response.Write("修改订单状态失败");
                                            return;
                                        }
                                    }
                                    else if (upper.StartsWith("B"))
                                    {
                                        Rain.BLL.orders   orders = new Rain.BLL.orders();
                                        Rain.Model.orders model  = orders.GetModel(upper);
                                        if (model == null)
                                        {
                                            this.Response.Write("该订单号不存在");
                                            return;
                                        }
                                        if (model.payment_status == 2)
                                        {
                                            this.Response.Write("success");
                                            return;
                                        }
                                        if (model.order_amount != Decimal.Parse(parameter3) / new Decimal(100))
                                        {
                                            this.Response.Write("订单金额和支付金额不相符");
                                            return;
                                        }
                                        if (!orders.UpdateField(upper, "trade_no='" + parameter2 + "',status=2,payment_status=2,payment_time='" + (object)DateTime.Now + "'"))
                                        {
                                            this.Response.Write("修改订单状态失败");
                                            return;
                                        }
                                        if (model.point < 0)
                                        {
                                            new Rain.BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false);
                                        }
                                    }
                                }
                                else if ("5".Equals(parameter4) && upper.StartsWith("B"))
                                {
                                    Rain.BLL.orders   orders = new Rain.BLL.orders();
                                    Rain.Model.orders model  = orders.GetModel(upper);
                                    if (model == null)
                                    {
                                        this.Response.Write("该订单号不存在");
                                        return;
                                    }
                                    if (model.status > 2)
                                    {
                                        this.Response.Write("success");
                                        return;
                                    }
                                    if (model.order_amount != Decimal.Parse(parameter3))
                                    {
                                        this.Response.Write("订单金额和支付金额不相符");
                                        return;
                                    }
                                    if (!orders.UpdateField(upper, "status=3,complete_time='" + (object)DateTime.Now + "'"))
                                    {
                                        this.Response.Write("修改订单状态失败");
                                        return;
                                    }
                                    if (model.user_id > 0 && model.point > 0)
                                    {
                                        new Rain.BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "购物获得积分,订单号:" + model.order_no, true);
                                    }
                                }
                                this.Response.Write("success");
                            }
                        }
                        else
                        {
                            this.Response.Write("查询验证签名失败或id验证失败");
                        }
                    }
                    else
                    {
                        this.Response.Write("通知ID查询签名验证失败");
                    }
                }
                else
                {
                    this.Response.Write("后台调用通信失败");
                }
            }
            else
            {
                this.Response.Write("签名验证失败");
            }
            this.Response.End();
        }
Ejemplo n.º 3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Rain.Model.siteconfig siteconfig = new Rain.BLL.siteconfig().loadConfig();
            TenpayUtil            tenpayUtil = new TenpayUtil();
            string  upper       = DTRequest.GetFormString("pay_order_no").ToUpper();
            Decimal formDecimal = DTRequest.GetFormDecimal("pay_order_amount", new Decimal(0));
            string  formString1 = DTRequest.GetFormString("pay_user_name");
            string  formString2 = DTRequest.GetFormString("pay_subject");
            string  str         = string.Empty;

            if (upper == "" || formDecimal == new Decimal(0))
            {
                this.Response.Redirect(new BasePage().linkurl("error", (object)("?msg=" + Utils.UrlEncode("对不起,您提交的参数有误!"))));
            }
            else
            {
                if (upper.StartsWith("R"))
                {
                    Rain.Model.user_recharge model = new Rain.BLL.user_recharge().GetModel(upper);
                    if (model == null)
                    {
                        this.Response.Redirect(new BasePage().linkurl("error", (object)("?msg=" + Utils.UrlEncode("对不起,您充值的订单号不存在或已删除!"))));
                        return;
                    }
                    if (model.amount != formDecimal)
                    {
                        this.Response.Redirect(new BasePage().linkurl("error", (object)("?msg=" + Utils.UrlEncode("对不起,您充值的订单金额与实际金额不一致!"))));
                        return;
                    }
                    str = "2";
                }
                else
                {
                    Rain.Model.orders model = new Rain.BLL.orders().GetModel(upper);
                    if (model == null)
                    {
                        this.Response.Redirect(new BasePage().linkurl("error", (object)("?msg=" + Utils.UrlEncode("对不起,您支付的订单号不存在或已删除!"))));
                        return;
                    }
                    if (model.order_amount != formDecimal)
                    {
                        this.Response.Redirect(new BasePage().linkurl("error", (object)("?msg=" + Utils.UrlEncode("对不起,您支付的订单金额与实际金额不一致!"))));
                        return;
                    }
                    str = "1";
                }
                string         parameterValue = string.IsNullOrEmpty(formString1) ? "匿名用户" : "支付会员:" + formString1;
                RequestHandler requestHandler = new RequestHandler(this.Context);
                requestHandler.init();
                requestHandler.setKey(tenpayUtil.key);
                requestHandler.setGateUrl("https://gw.tenpay.com/gateway/pay.htm");
                requestHandler.setParameter("partner", tenpayUtil.partner);
                requestHandler.setParameter("out_trade_no", upper);
                requestHandler.setParameter("total_fee", (Convert.ToDouble(formDecimal) * 100.0).ToString());
                requestHandler.setParameter("return_url", tenpayUtil.return_url);
                requestHandler.setParameter("notify_url", tenpayUtil.notify_url);
                requestHandler.setParameter("body", parameterValue);
                requestHandler.setParameter("bank_type", "DEFAULT");
                requestHandler.setParameter("spbill_create_ip", this.Page.Request.UserHostAddress);
                requestHandler.setParameter("fee_type", "1");
                requestHandler.setParameter("subject", siteconfig.webname + "-" + formString2);
                requestHandler.setParameter("sign_type", "MD5");
                requestHandler.setParameter("service_version", "1.0");
                requestHandler.setParameter("input_charset", "UTF-8");
                requestHandler.setParameter("sign_key_index", "1");
                requestHandler.setParameter("product_fee", "0");
                requestHandler.setParameter("transport_fee", "0");
                requestHandler.setParameter("time_start", DateTime.Now.ToString("yyyyMMddHHmmss"));
                requestHandler.setParameter("time_expire", "");
                requestHandler.setParameter("buyer_id", "");
                requestHandler.setParameter("goods_tag", "");
                requestHandler.setParameter("trade_mode", tenpayUtil.type);
                requestHandler.setParameter("transport_desc", "");
                requestHandler.setParameter("trans_type", "1");
                requestHandler.setParameter("agentid", "");
                requestHandler.setParameter("agent_type", "");
                requestHandler.setParameter("seller_id", "");
                requestHandler.getRequestURL();
                StringBuilder stringBuilder = new StringBuilder();
                stringBuilder.Append("<form id='tenpaysubmit' name='tenpaysubmit' action='" + requestHandler.getGateUrl() + "' method='get'>");
                foreach (DictionaryEntry allParameter in requestHandler.getAllParameters())
                {
                    stringBuilder.Append("<input type=\"hidden\" name=\"" + allParameter.Key + "\" value=\"" + allParameter.Value + "\" >\n");
                }
                stringBuilder.Append("<input type='submit' value='确认' style='display:none;'></form>");
                stringBuilder.Append("<script>document.forms['tenpaysubmit'].submit();</script>");
                this.Response.Write(stringBuilder.ToString());
            }
        }
Ejemplo n.º 4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            SortedDictionary <string, string> requestPost = this.GetRequestPost();

            if (requestPost.Count > 0)
            {
                if (new Notify().Verify(requestPost, DTRequest.GetString("notify_id"), DTRequest.GetString("sign")))
                {
                    string trade_no = DTRequest.GetString("trade_no");
                    string upper    = DTRequest.GetString("out_trade_no").ToUpper();
                    string s        = DTRequest.GetString("total_fee");
                    string str      = DTRequest.GetString("trade_status");
                    if (Config.Type == "1")
                    {
                        if (str == "TRADE_FINISHED" || str == "TRADE_SUCCESS")
                        {
                            if (upper.StartsWith("R"))
                            {
                                Rain.BLL.user_recharge   userRecharge = new Rain.BLL.user_recharge();
                                Rain.Model.user_recharge model        = userRecharge.GetModel(upper);
                                if (model == null)
                                {
                                    this.Response.Write("该订单号不存在");
                                    return;
                                }
                                if (model.status == 1)
                                {
                                    this.Response.Write("success");
                                    return;
                                }
                                if (model.amount != Decimal.Parse(s))
                                {
                                    this.Response.Write("订单金额和支付金额不相符");
                                    return;
                                }
                                if (!userRecharge.Confirm(upper))
                                {
                                    this.Response.Write("修改订单状态失败");
                                    return;
                                }
                            }
                            else if (upper.StartsWith("B"))
                            {
                                Rain.BLL.orders   orders = new Rain.BLL.orders();
                                Rain.Model.orders model  = orders.GetModel(upper);
                                if (model == null)
                                {
                                    this.Response.Write("该订单号不存在");
                                    return;
                                }
                                if (model.payment_status == 2)
                                {
                                    this.Response.Write("success");
                                    return;
                                }
                                if (model.order_amount != Decimal.Parse(s))
                                {
                                    this.Response.Write("订单金额和支付金额不相符");
                                    return;
                                }
                                if (!orders.UpdateField(upper, "trade_no='" + trade_no + "',status=2,payment_status=2,payment_time='" + (object)DateTime.Now + "'"))
                                {
                                    this.Response.Write("修改订单状态失败");
                                    return;
                                }
                                if (model.point < 0)
                                {
                                    new Rain.BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false);
                                }
                            }
                        }
                    }
                    else if (str == "WAIT_SELLER_SEND_GOODS")
                    {
                        if (upper.StartsWith("R"))
                        {
                            Rain.BLL.user_recharge   userRecharge = new Rain.BLL.user_recharge();
                            Rain.Model.user_recharge model        = userRecharge.GetModel(upper);
                            if (model == null)
                            {
                                this.Response.Write("该订单号不存在");
                                return;
                            }
                            if (model.status == 1)
                            {
                                this.Response.Write("success");
                                return;
                            }
                            if (model.amount != Decimal.Parse(s))
                            {
                                this.Response.Write("订单金额和支付金额不相符");
                                return;
                            }
                            if (!userRecharge.Confirm(upper))
                            {
                                this.Response.Write("修改订单状态失败");
                                return;
                            }
                            if (!new Service().Send_goods_confirm_by_platform(trade_no, "EXPRESS", "", "DIRECT"))
                            {
                                this.Response.Write("自动发货失败");
                                return;
                            }
                        }
                        else if (upper.StartsWith("B"))
                        {
                            Rain.BLL.orders   orders = new Rain.BLL.orders();
                            Rain.Model.orders model  = orders.GetModel(upper);
                            if (model == null)
                            {
                                this.Response.Write("该订单号不存在");
                                return;
                            }
                            if (model.payment_status == 2)
                            {
                                this.Response.Write("success");
                                return;
                            }
                            if (model.order_amount != Decimal.Parse(s))
                            {
                                this.Response.Write("订单金额和支付金额不相符");
                                return;
                            }
                            if (!orders.UpdateField(upper, "trade_no='" + trade_no + "',status=2,payment_status=2,payment_time='" + (object)DateTime.Now + "'"))
                            {
                                this.Response.Write("修改订单状态失败");
                                return;
                            }
                            if (model.point < 0)
                            {
                                new Rain.BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false);
                            }
                        }
                    }
                    else if (str == "TRADE_FINISHED" && upper.StartsWith("B"))
                    {
                        Rain.BLL.orders   orders = new Rain.BLL.orders();
                        Rain.Model.orders model  = orders.GetModel(upper);
                        if (model == null)
                        {
                            this.Response.Write("该订单号不存在");
                            return;
                        }
                        if (model.status > 2)
                        {
                            this.Response.Write("success");
                            return;
                        }
                        if (model.order_amount != Decimal.Parse(s))
                        {
                            this.Response.Write("订单金额和支付金额不相符");
                            return;
                        }
                        if (!orders.UpdateField(upper, "status=3,complete_time='" + (object)DateTime.Now + "'"))
                        {
                            this.Response.Write("修改订单状态失败");
                            return;
                        }
                        if (model.user_id > 0 && model.point > 0)
                        {
                            new Rain.BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "购物获得积分,订单号:" + model.order_no, true);
                        }
                    }
                    this.Response.Write("success");
                }
                else
                {
                    this.Response.Write("fail");
                }
            }
            else
            {
                this.Response.Write("无通知参数");
            }
        }
Ejemplo n.º 5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Rain.Model.siteconfig siteconfig = new Rain.BLL.siteconfig().loadConfig();
            string  upper       = DTRequest.GetFormString("pay_order_no").ToUpper();
            Decimal formDecimal = DTRequest.GetFormDecimal("pay_order_amount", new Decimal(0));
            string  formString1 = DTRequest.GetFormString("pay_user_name");
            string  formString2 = DTRequest.GetFormString("pay_subject");
            string  empty1      = string.Empty;
            string  empty2      = string.Empty;
            string  str1        = string.Empty;
            string  empty3      = string.Empty;
            string  empty4      = string.Empty;

            if (string.IsNullOrEmpty(upper) || formDecimal == new Decimal(0))
            {
                this.Response.Redirect(new BasePage().linkurl("error", (object)("?msg=" + Utils.UrlEncode("对不起,您提交的参数有误!"))));
            }
            else
            {
                string str2;
                string address;
                string telphone;
                string mobile;
                if (upper.StartsWith("R"))
                {
                    Rain.Model.user_recharge model1 = new Rain.BLL.user_recharge().GetModel(upper);
                    if (model1 == null)
                    {
                        this.Response.Redirect(new BasePage().linkurl("error", (object)("?msg=" + Utils.UrlEncode("对不起,您充值的订单号不存在或已删除!"))));
                        return;
                    }
                    if (model1.amount != formDecimal)
                    {
                        this.Response.Redirect(new BasePage().linkurl("error", (object)("?msg=" + Utils.UrlEncode("对不起,您充值的订单金额与实际金额不一致!"))));
                        return;
                    }
                    Rain.Model.users model2 = new Rain.BLL.users().GetModel(model1.user_id);
                    if (model2 == null)
                    {
                        this.Response.Redirect(new BasePage().linkurl("error", (object)("?msg=" + Utils.UrlEncode("对不起,用户账户不存在或已删除!"))));
                        return;
                    }
                    str2     = model2.nick_name;
                    address  = model2.address;
                    telphone = model2.telphone;
                    mobile   = model2.mobile;
                }
                else
                {
                    Rain.Model.orders model = new Rain.BLL.orders().GetModel(upper);
                    if (model == null)
                    {
                        this.Response.Redirect(new BasePage().linkurl("error", (object)("?msg=" + Utils.UrlEncode("对不起,您支付的订单号不存在或已删除!"))));
                        return;
                    }
                    if (model.order_amount != formDecimal)
                    {
                        this.Response.Redirect(new BasePage().linkurl("error", (object)("?msg=" + Utils.UrlEncode("对不起,您支付的订单金额与实际金额不一致!"))));
                        return;
                    }
                    str2     = model.accept_name;
                    address  = model.address;
                    str1     = model.post_code;
                    telphone = model.telphone;
                    mobile   = model.mobile;
                }
                string str3 = !(formString1 != "") ? "匿名用户" : "支付会员:" + formString1;
                if (Config.Type == "1")
                {
                    this.Response.Write(new Service().Create_direct_pay_by_user(new SortedDictionary <string, string>()
                    {
                        {
                            "payment_type",
                            "1"
                        },
                        {
                            "show_url",
                            siteconfig.weburl
                        },
                        {
                            "out_trade_no",
                            upper
                        },
                        {
                            "subject",
                            siteconfig.webname + "-" + formString2
                        },
                        {
                            "body",
                            str3
                        },
                        {
                            "total_fee",
                            formDecimal.ToString()
                        },
                        {
                            "paymethod",
                            ""
                        },
                        {
                            "defaultbank",
                            ""
                        },
                        {
                            "anti_phishing_key",
                            ""
                        },
                        {
                            "exter_invoke_ip",
                            DTRequest.GetIP()
                        },
                        {
                            "buyer_email",
                            ""
                        },
                        {
                            "royalty_type",
                            ""
                        },
                        {
                            "royalty_parameters",
                            ""
                        }
                    }));
                }
                else
                {
                    this.Response.Write(new Service().Create_partner_trade_by_buyer(new SortedDictionary <string, string>()
                    {
                        {
                            "payment_type",
                            "1"
                        },
                        {
                            "out_trade_no",
                            upper
                        },
                        {
                            "subject",
                            siteconfig.webname + "-" + formString2
                        },
                        {
                            "price",
                            formDecimal.ToString()
                        },
                        {
                            "quantity",
                            "1"
                        },
                        {
                            "logistics_fee",
                            "0.00"
                        },
                        {
                            "logistics_type",
                            "EXPRESS"
                        },
                        {
                            "logistics_payment",
                            "SELLER_PAY"
                        },
                        {
                            "body",
                            str3
                        },
                        {
                            "show_url",
                            siteconfig.weburl
                        },
                        {
                            "receive_name",
                            str2
                        },
                        {
                            "receive_address",
                            address
                        },
                        {
                            "receive_zip",
                            str1
                        },
                        {
                            "receive_phone",
                            telphone
                        },
                        {
                            "receive_mobile",
                            mobile
                        }
                    }));
                }
            }
        }