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)); }
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); }; }
public ActionResult <string> GetNativeNotify() { NativeNotify nativeNatify = new NativeNotify(_httpContext); return(nativeNatify.ProcessNotify()); }
protected void Page_Load(object sender, EventArgs e) { NativeNotify nativeNatify = new NativeNotify(this); nativeNatify.ProcessNotify(); }