Esempio n. 1
0
 public void Pay()
 {
     Model.Order order = new BLL.BLLOrder().GetOrderByOrderid(62);
     BLL.BLLPayment bllpamment = new BLL.BLLPayment(order);
     bllpamment.Pay();
     bllpamment.Received("dasf");
 }
Esempio n. 2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        BLL.BLLOrder bllOrder = new BLL.BLLOrder();
        BLL.BLLPayment bllPayment;
        Model.Order order = new Model.Order();
        int orderId = int.Parse(Request["out_trade_no"]);
        string tradeNo = Request["trade_no"];
        if (orderId > 0)
        {

            order = bllOrder.GetOrderByOrderid(orderId);
            order.TradeNo = tradeNo;
            bllOrder.SaveOrUpdateOrder(order);
            //
            bllPayment = new BLL.BLLPayment(order);
            bllPayment.Received( Request.Url.Query);
        }
        else
        {
            BLL.ErrHandler.Redirect(BLL.ErrType.ParamIllegal);
        }
        SortedDictionary<string, string> sPara = GetRequestGet();

        if (sPara.Count > 0)//判断是否有带返回参数
        {
            Notify aliNotify = new Notify();
            bool verifyResult = aliNotify.Verify(sPara, Request.QueryString["notify_id"], Request.QueryString["sign"]);

            if (verifyResult)//验证成功
            {
                /////////////////////////////////////////////////////////////////////////////////////////////////////////////
                //请在这里加上商户的业务逻辑程序代码

                //——请根据您的业务逻辑来编写程序(以下代码仅作参考)——
                //获取支付宝的通知返回参数,可参考技术文档中页面跳转同步通知参数列表
                string trade_no = Request.QueryString["trade_no"];              //支付宝交易号
                string order_no = Request.QueryString["out_trade_no"];	        //获取订单号
                string total_fee = Request.QueryString["total_fee"];            //获取总金额
                string subject = Request.QueryString["subject"];                //商品名称、订单名称
                string body = Request.QueryString["body"];                      //商品描述、订单备注、描述
                string buyer_email = Request.QueryString["buyer_email"];        //买家支付宝账号
                string trade_status = Request.QueryString["trade_status"];      //交易状态

                if (Request.QueryString["trade_status"] == "TRADE_FINISHED" || Request.QueryString["trade_status"] == "TRADE_SUCCESS")
                {
                    //判断该笔订单是否在商户网站中已经做过处理
                    //如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序
                    //如果有做过处理,不执行商户的业务程序

                    order.IsPaid = true;
                    order.PayTime = DateTime.Now;
                    bllOrder.SaveOrUpdateOrder(order);

                    Response.Redirect("/payment/paysuccess.aspx?orderid=" + orderId);

                }
                else
                {
                    Response.Write("trade_status=" + Request.QueryString["trade_status"]);
                }

                //打印页面
                Response.Write("验证成功<br />");
                Response.Write("trade_no=" + trade_no);

                //——请根据您的业务逻辑来编写程序(以上代码仅作参考)——

                /////////////////////////////////////////////////////////////////////////////////////////////////////////////
            }
            else//验证失败
            {
                Response.Write("验证失败");
            }
        }
        else
        {
            Response.Write("无返回参数");
        }
    }