Example #1
0
 public TradeController()
 {
     tradeService = new TradeService();
     orderService = new OrderService();
     configService = new PublicConfigService();
     userService = new UserService();
 }
Example #2
0
        public ActionResult BuyDemandPayNotifyUrl()
        {
            ResponseHandler resHandler = new ResponseHandler(null);

            string return_code = resHandler.GetParameter("return_code");
            string return_msg = resHandler.GetParameter("return_msg");

            try
            {
                resHandler.SetKey(TenPayV3Info.Key);
                //验证请求是否从微信发过来(安全)
                if (resHandler.IsTenpaySign())
                {
                    //正确的订单处理

                    string out_trade_no = resHandler.GetParameter("out_trade_no");
                    string total_fee = resHandler.GetParameter("total_fee");
                    //微信支付订单号
                    string transaction_id = resHandler.GetParameter("transaction_id");
                    //支付完成时间
                    string time_end = resHandler.GetParameter("time_end");

                    LogService.LogWexin("处理需求购买结果通知", "订单号:" + out_trade_no + "   交易流水号:" + transaction_id + "    支付完成时间:" + time_end);

                    OrderService orderService = new OrderService();
                    TradeOrder order = orderService.GetOrderByOrderId(out_trade_no);

                    if (order == null)
                    {
                        return_code = "FAIL";
                        return_msg = "根据返回的订单编号(" + out_trade_no + ")未查询到相应交易订单。";
                    }
                    else if (order.State == (int)OrderState.Succeed)
                    {
                        return_code = "SUCCESS";
                        return_msg = "OK";
                    }
                    else if ((order.Amount * 100) != Convert.ToDecimal(total_fee))
                    {
                        //无效支付结果
                        orderService.UpdateOrderState(order.OrderId, (int)OrderState.Invalid);

                        return_code = "FAIL";
                        return_msg = "交易金额与订单金额不一致";
                    }
                    else
                    {
                        //交易成功
                        if (orderService.UpdateOrderState(order.OrderId, (int)OrderState.Succeed))
                        {
                            return_code = "SUCCESS";
                            return_msg = "OK";
                        }
                        else
                        {
                            return_code = "FAIL";
                            return_msg = "更新订单失败";
                        }
                    }
                }
                else
                {
                    return_code = "FAIL";
                    return_msg = "非法支付结果通知";

                    //错误的订单处理
                    LogService.LogWexin("接收到非法微信支付结果通知", return_msg);
                }
            }
            catch (Exception ex)
            {
                return_code = "FAIL";
                return_msg = ex.ToString();

                LogService.LogWexin("处理需求购买结果通知", ex.ToString());
            }

            string xml = string.Format(@"
            <xml>
               <return_code><![CDATA[{0}]]></return_code>
               <return_msg><![CDATA[{1}]]></return_msg>
            </xml>", return_code, return_msg);

            LogService.LogWexin("处理需求购买结果通知", xml);
            return Content(xml, "text/xml");
        }
Example #3
0
 public UserController()
 {
     orderService = new OrderService();
     quoteService = new DemandQuoteService();
 }
Example #4
0
 public PayController()
 {
     orderService = new OrderService();
     publicConfigService = new PublicConfigService();
 }
Example #5
0
 public UserController()
 {
     orderService = new OrderService();
 }