コード例 #1
0
        public async Task <IActionResult> Order()
        {
            var streamReader = new StreamReader(Request.Body);
            var bodyStr      = streamReader.ReadToEnd();

            Console.WriteLine(bodyStr);
            var       pay  = new NativeNotify();
            WxPayData data = new WxPayData();

            data.FromXml(bodyStr);
            var resultXml = pay.ProcessNotify(data);

            //WxPayData data = new WxPayData();
            //var dataXml = data.FromXml(bodyStr);
            //var openId = dataXml["openid"].ToString();
            //var productId = dataXml["product_id"].ToString();
            //Console.WriteLine(Request.QueryString);
            //var vm = new UnifierOrderViewModel()
            //{
            //    OpenId = openId,
            //    Body = "ceshi ",
            //    Attach = "丸子家族",
            //    OutTradeNo = string.IsNullOrEmpty(productId) ? Guid.NewGuid().ToString() : productId.ToString(),
            //    Tag = "",
            //    TotalFee = (int)(1 * 100),
            //    NotifyUrl = "http://cartoon.oryxl.com/QRCodeNotify/Result"
            //};
            //Console.WriteLine(vm.OutTradeNo);
            ////orderEntity.OutTradeNo = outtradeno;
            ////await OrderBs.Update(orderEntity);
            ////var packageStr = WeAppPayApi.UnifiedOrder(vm);
            //await Task.Run(() => WeAppPayApi.UnifiedOrder(vm));
            return(Content(resultXml));
        }
コード例 #2
0
ファイル: OrderModule.cs プロジェクト: ayumi043/BiLin3DPrint
            public NativeNotifyModule(IDbConnection db, ILog log, IRootPathProvider pathProvider)
            {
                Post["/WxPayNotify"] = parameters => {
                    NativeNotify nativeNatify = new NativeNotify(Context);
                    var          result       = nativeNatify.ProcessNotify();
                    if (result.Item1 == false)
                    {
                        log.Error($"发生错误了:{result.Item2.ToJson()}");
                        throw new Exception(result.Item2.ToXml());
                    }

                    string orderId = result.Item2.GetValue("out_trade_no").ToString().Trim();
                    string sql     = $"select 1 from t_order where OrderId='{orderId}' and StateId=1";
                    //var _order = db.Single<string>("select 1 from t_order where OrderId=@OrderId and StateId=1", new { OrderId = orderId });
                    var _order = db.Single <string>(sql);
                    if (_order != null)
                    {
                        //System.IO.File.WriteAllText($"gggg{DateTime.Now.ToString("yyyyMMddHHmmssss")}.txt", _order);
                        //DateTime payTime;
                        //DateTime.TryParseExact(result.Item2.GetValue("time_end").ToString(), "yyyyMMddHHmmss", null, System.Globalization.DateTimeStyles.None, out payTime);
                        db.ExecuteNonQuery($@"update t_order set StateId=2, PayFrom=1, PayOrderId='{result.Item2.GetValue("transaction_id")}', 
                                                PayTime='{result.Item2.GetValue("time_end")}', EditTime=NOW()
                                            where OrderId=@OrderId;
                                            update t_user set Expense=Expense+(select Amount from t_order where OrderId=@OrderId),
                                                PointRemain=PointRemain+(select Amount from t_order where OrderId=@OrderId),
                                                PointTotal=PointTotal+(select Amount from t_order where OrderId=@OrderId) where Id=(select UserId from t_order where OrderId=@OrderId);"
                                           , new { OrderId = orderId });
                    }
                    return(null);
                };
            }
コード例 #3
0
        public ActionResult <string> GetNativeNotify()
        {
            NativeNotify nativeNatify = new NativeNotify(_httpContext);

            return(nativeNatify.ProcessNotify());
        }
コード例 #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            NativeNotify nativeNatify = new NativeNotify(this);

            nativeNatify.ProcessNotify();
        }