Ejemplo n.º 1
0
        public ActionResult Success()
        {
            var payResult = new PayResultViewModel();
            var sPara     = GetRequestGet();

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

                if (verifyResult) //验证成功
                {
                    //商户订单号
                    var out_trade_no = Request.QueryString["out_trade_no"];

                    //支付宝交易号
                    var trade_no = Request.QueryString["trade_no"];

                    //交易状态
                    var result = Request.QueryString["result"];
                    payResult.Status = true;
                }
                else //验证失败
                {
                    payResult.Status = false;
                }
            }
            else
            {
                payResult.Status = false;
            }
            return(View(payResult));
        }
Ejemplo n.º 2
0
        public ActionResult FrontUrl()
        {
            var payResult = new PayResultViewModel();

            if (Request.HttpMethod == "POST")
            {
                #region 使用Dictionary保存参数
                Dictionary <string, string> resData = new Dictionary <string, string>();

                NameValueCollection coll = Request.Form;

                string[] requestItem = coll.AllKeys;

                for (int i = 0; i < requestItem.Length; i++)
                {
                    resData.Add(requestItem[i], Request.Form[requestItem[i]]);
                }

                string respcode = resData["respCode"];
                #endregion 使用Dictionary保存参数
                // 返回报文中不包含UPOG,表示Server端正确接收交易请求,则需要验证Server端返回报文的签名
                if (SDKUtil.Validate(resData, Encoding.UTF8))
                {
                    #region 报文结果写入文件
                    //商户端根据返回报文内容处理自己的业务逻辑 ,DEMO此处只输出报文结果
                    StringBuilder builder = new StringBuilder();

                    builder.Append("ChinaUnion FrontUrl: <table><tr><td align=\"center\" colspan=\"2\"><b>商户端接收银联返回报文并按照表格形式输出结果</b></td></tr>");

                    for (int i = 0; i < requestItem.Length; i++)
                    {
                        builder.Append("<tr><td width=\"30%\" align=\"right\">" + requestItem[i] + "</td><td style='word-break:break-all'>" + Request.Form[requestItem[i]] + "</td></tr>");
                    }

                    builder.Append("<tr><td width=\"30%\" align=\"right\">商户端验证银联返回报文结果</td><td>验证签名成功.</td></tr></table>");
                    LogHelper.CreateLog(builder.ToString(), resData["orderId"]);
                    #endregion 报文结果写入文件
                    if (resData["respMsg"] == "success")
                    {
                        payResult.Status = true;
                    }
                    else
                    {//支付失败
                        payResult.Status = false;
                    }
                }
                else
                {
                    payResult.Status = false;
                    LogHelper.WriteLog(">商户端验证银联返回报文结果</td><td>验证签名失败.", "~/log/银联Front验证失败", "error_____" + DateTime.Now.Ticks);
                }
            }
            return(View(payResult));
        }
Ejemplo n.º 3
0
        public ActionResult WxPayResult(string status)
        {
            LogHelper.CreateLog("进入WxPayResult", "wxdebug");
            var payResult = new PayResultViewModel()
            {
                Status = false
            };

            if (status != "error")
            {
                payResult.Status = true;
            }
            return(View(payResult));
        }
Ejemplo n.º 4
0
 public ActionResult WxPayResult(string status)
 {
     LogHelper.CreateLog("进入WxPayResult", "wxdebug");
     var payResult = new PayResultViewModel() { Status = false };
     if (status != "error")
     {
         payResult.Status = true;
     }
     return View(payResult);
 }
Ejemplo n.º 5
0
        public ActionResult Success()
        {
            var payResult = new PayResultViewModel();
            var sPara = GetRequestGet();

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

                if (verifyResult) //验证成功
                {
                    //商户订单号
                    var out_trade_no = Request.QueryString["out_trade_no"];

                    //支付宝交易号
                    var trade_no = Request.QueryString["trade_no"];

                    //交易状态
                    var result = Request.QueryString["result"];
                    payResult.Status = true;
                }
                else //验证失败
                {
                    payResult.Status = false;
                }
            }
            else
            {
                payResult.Status = false;
            }
            return View(payResult);
        }
Ejemplo n.º 6
0
        public ActionResult FrontUrl()
        {
            var payResult = new PayResultViewModel();
            if (Request.HttpMethod == "POST")
            {
                #region 使用Dictionary保存参数
                Dictionary<string, string> resData = new Dictionary<string, string>();

                NameValueCollection coll = Request.Form;

                string[] requestItem = coll.AllKeys;

                for (int i = 0; i < requestItem.Length; i++)
                {
                    resData.Add(requestItem[i], Request.Form[requestItem[i]]);
                }

                string respcode = resData["respCode"];
                #endregion 使用Dictionary保存参数
                // 返回报文中不包含UPOG,表示Server端正确接收交易请求,则需要验证Server端返回报文的签名
                if (SDKUtil.Validate(resData, Encoding.UTF8))
                {
                    #region 报文结果写入文件
                    //商户端根据返回报文内容处理自己的业务逻辑 ,DEMO此处只输出报文结果
                    StringBuilder builder = new StringBuilder();

                    builder.Append("ChinaUnion FrontUrl: <table><tr><td align=\"center\" colspan=\"2\"><b>商户端接收银联返回报文并按照表格形式输出结果</b></td></tr>");

                    for (int i = 0; i < requestItem.Length; i++)
                    {
                        builder.Append("<tr><td width=\"30%\" align=\"right\">" + requestItem[i] + "</td><td style='word-break:break-all'>" + Request.Form[requestItem[i]] + "</td></tr>");
                    }

                    builder.Append("<tr><td width=\"30%\" align=\"right\">商户端验证银联返回报文结果</td><td>验证签名成功.</td></tr></table>");
                    LogHelper.CreateLog(builder.ToString(), resData["orderId"]);
                    #endregion 报文结果写入文件
                    if (resData["respMsg"] == "success")
                    {
                        payResult.Status = true;
                    }
                    else
                    {//支付失败
                        payResult.Status = false;
                    }
                }
                else
                {
                    payResult.Status = false;
                    LogHelper.WriteLog(">商户端验证银联返回报文结果</td><td>验证签名失败.", "~/log/银联Front验证失败", "error_____" + DateTime.Now.Ticks);
                }
            }
            return View(payResult);
        }