public ActionResult AlipayPay() { ViewData["html"] = string.Empty; try { int OrderId = Convert.ToInt32(Request.QueryString["id"]); if (OrderId > 0) { hotel3g.Repository.Order order = hotel3g.Repository.OrderRepository.GetOrderInfo(OrderId); MemberInfo MemberInfoDeatil = hotel3g.Repository.MemberHelper.GetMemberInfo(order.HotelID.ToString()); //获取会员卡 string cardno = hotel3g.Repository.MemberHelper.GetCardNo(order.UserWeiXinID, order.WeiXinID); MemberCard Card = hotel3g.Repository.MemberHelper.GetMemberCard(cardno, order.HotelID.ToString()); decimal Discount = hotel3g.Repository.MemberHelper.GetDiscountByRatePlanID(order.RatePlanID.ToString(), order.HotelID.ToString()) / 10; //获取会员 折扣 decimal rate = 0; #region if (!string.IsNullOrEmpty(cardno) && MemberInfoDeatil != null) { if (Card.night >= MemberInfoDeatil.vip4 && MemberInfoDeatil.vip4 > 0 && MemberInfoDeatil.vip4rate > 0) { rate = MemberInfoDeatil.vip4rate; } else if (Card.night >= MemberInfoDeatil.vip3 && MemberInfoDeatil.vip3 > 0 && MemberInfoDeatil.vip3rate > 0) { rate = MemberInfoDeatil.vip3rate; } else if (Card.night >= MemberInfoDeatil.vip2 && MemberInfoDeatil.vip2 > 0 && MemberInfoDeatil.vip2rate > 0) { rate = MemberInfoDeatil.vip2rate; } else if (Card.night >= MemberInfoDeatil.vip1 && MemberInfoDeatil.vip1 > 0 && MemberInfoDeatil.vip1rate > 0) { rate = MemberInfoDeatil.vip1rate; } else if (Card.night >= MemberInfoDeatil.vip0 && MemberInfoDeatil.vip0rate > 0) { rate = MemberInfoDeatil.vip0rate; } } #endregion if (order == null || order.PayType != "0") { throw new HttpException(404, "404"); } ////////////////////////////////////////////调用授权接口alipay.wap.trade.create.direct获取授权码token//////////////////////////////////////////// //返回格式 string format = "xml"; //必填,不需要修改 //返回格式 string v = "2.0"; //必填,不需要修改 //请求号 string req_id = DateTime.Now.ToString("yyyyMMddHHmmss"); //必填,须保证每次请求都是唯一 //req_data详细信息 //服务器异步通知页面路径 string notify_url = GlobalConfig.WebSite + "/AliPay/AlipayNotify.html"; //需http://格式的完整路径,不允许加?id=123这类自定义参数 //页面跳转同步通知页面路径 string call_back_url = GlobalConfig.WebSite + "/AliPay/AlipayCallback.html"; //需http://格式的完整路径,不允许加?id=123这类自定义参数 //操作中断返回地址 string merchant_url = GlobalConfig.WebSite + "/Pay/Result"; //用户付款中途退出返回商户的地址。需http://格式的完整路径,不允许加?id=123这类自定义参数 //卖家支付宝帐户 string seller_email = WayAlipay.Alipay.Config.SellerEmail; //必填 //商户订单号 string out_trade_no = Prefix + order.Id.ToString(); //商户网站订单系统中唯一订单号,必填 //订单名称 string subject = order.HotelName.Trim() + " " + order.RoomName + (string.IsNullOrEmpty(order.RatePlanName) ? "" : string.Format("({0})", order.RatePlanName)); //必填 //付款金额 //string total_fee = ((int)Math.Ceiling((order.OrderAmount * Discount) * (rate / 10))).ToString(); string total_fee = ((int)Math.Ceiling(order.OrderAmount * (rate / 10))).ToString(); //必填 //请求业务参数详细 string req_dataToken = "<direct_trade_create_req><notify_url>" + notify_url + "</notify_url><call_back_url>" + call_back_url + "</call_back_url><seller_account_name>" + seller_email + "</seller_account_name><out_trade_no>" + out_trade_no + "</out_trade_no><subject>" + subject + "</subject><total_fee>" + total_fee + "</total_fee><merchant_url>" + merchant_url + "</merchant_url></direct_trade_create_req>"; //必填 //把请求参数打包成数组 Dictionary <string, string> sParaTempToken = new Dictionary <string, string>(); sParaTempToken.Add("partner", WayAlipay.Alipay.Config.Partner); sParaTempToken.Add("_input_charset", WayAlipay.Alipay.Config.Input_charset.ToLower()); sParaTempToken.Add("sec_id", WayAlipay.Alipay.Config.Sign_type.ToUpper()); sParaTempToken.Add("service", "alipay.wap.trade.create.direct"); sParaTempToken.Add("format", format); sParaTempToken.Add("v", v); sParaTempToken.Add("req_id", req_id); sParaTempToken.Add("req_data", req_dataToken); //建立请求 string sHtmlTextToken = WayAlipay.Alipay.Submit.BuildRequest(sParaTempToken); //URLDECODE返回的信息 System.Text.Encoding code = System.Text.Encoding.GetEncoding(WayAlipay.Alipay.Config.Input_charset); sHtmlTextToken = HttpUtility.UrlDecode(sHtmlTextToken, code); //解析远程模拟提交后返回的信息 Dictionary <string, string> dicHtmlTextToken = WayAlipay.Alipay.Submit.ParseResponse(sHtmlTextToken); //获取token string request_token = dicHtmlTextToken["request_token"]; ////////////////////////////////////////////根据授权码token调用交易接口alipay.wap.auth.authAndExecute//////////////////////////////////////////// //业务详细 string req_data = "<auth_and_execute_req><request_token>" + request_token + "</request_token></auth_and_execute_req>"; //必填 //把请求参数打包成数组 Dictionary <string, string> sParaTemp = new Dictionary <string, string>(); sParaTemp.Add("partner", WayAlipay.Alipay.Config.Partner); sParaTemp.Add("_input_charset", WayAlipay.Alipay.Config.Input_charset.ToLower()); sParaTemp.Add("sec_id", WayAlipay.Alipay.Config.Sign_type.ToUpper()); sParaTemp.Add("service", "alipay.wap.auth.authAndExecute"); sParaTemp.Add("format", format); sParaTemp.Add("v", v); sParaTemp.Add("req_data", req_data); //建立请求 string sHtmlText = WayAlipay.Alipay.Submit.BuildRequest(sParaTemp, "get", "确认"); ViewData["html"] = sHtmlText; } } catch (Exception ex) { logger.ErrorFormat("淘宝wap支付调用异常-{0}", ex.Message.ToString()); } return(View()); }
public void postweixin(string code, string state) { if (!string.IsNullOrEmpty(code) && !string.IsNullOrEmpty(state)) { string openid = "", weixinstr = ""; bool boocuy = true; /** ================会员卡销售支付========= */ if (state.Contains("K")) { var dt = HotelCloud.SqlServer.SQLHelper.Get_DataTable(@"select top 1 * from WeiXin..MemberCardBuyRecord where OrderNo=@OrderId", HotelCloud.SqlServer.SQLHelper.GetCon(), new Dictionary <string, HotelCloud.SqlServer.DBParam> { { "OrderId", new HotelCloud.SqlServer.DBParam { ParamValue = state } } }); if (dt.Rows.Count > 0) { foreach (System.Data.DataRow dr in dt.Rows) { openid = getopenid(dr["weixinId"].ToString().Trim(), code); var weixinstrtable = HotelCloud.SqlServer.SQLHelper.Get_DataTable(@"select top 1 weixintype,edition from WeiXin..WeiXinNO where WeiXinID=@WeiXinID", HotelCloud.SqlServer.SQLHelper.GetCon(), new Dictionary <string, HotelCloud.SqlServer.DBParam> { { "WeiXinID", new HotelCloud.SqlServer.DBParam { ParamValue = dr["weixinId"].ToString().Trim() } } }); if (weixinstrtable != null) { if (weixinstrtable.Rows.Count > 0) { foreach (System.Data.DataRow rd in weixinstrtable.Rows) { /** ================判断公众号认证情况========= */ weixinstr = rd["weixintype"].ToString(); edition = rd["edition"].ToString(); } } } if ((string.IsNullOrEmpty(weixinstr) || (weixinstr != "2" && weixinstr != "4")) && dr["weixinId"].ToString().Trim() == "gh_def2f166ed9e") { /** ================未认证情况 进行调整到二维码扫描支付========= */ Response.Redirect("http://hotel.weikeniu.com/WeiXinZhiFu/qrcode.aspx?OrderNo=" + dr["OrderNo"].ToString().Trim(), false); } else { int total_fee = Convert.ToInt32(Convert.ToDecimal(dr["BuyMoney"].ToString()) * 100); /** ================Ashbur微信号对应支付金额 0.01元========= */ if (openid == "oPfrcjmqyO33T8a8Dn21Kq-QMAcg") { total_fee = 1; } if (openid == "oUM4bwdTr3DXhUkGf43lGiipmxMA") { total_fee = 1; } if (openid == "oZLQzv-cg1KvGmrTnq0xdxhK-4kc") { total_fee = 1; } if (string.IsNullOrEmpty(openid)) { WxPayAPI.Log.Error(this.GetType().ToString(), "wxOAuthRedirect|This page have not get params, cannot be inited, exit..."); } else { HotelID = dr["HotelId"].ToString().Trim(); UserWeiXinID = dr["userWeixinId"].ToString().Trim(); WeiXinID = dr["weixinId"].ToString().Trim(); WxPayAPI.WxPayData data = new WxPayAPI.WxPayData(); data.SetValue("body", "会员卡购买"); data.SetValue("attach", "presale"); data.SetValue("out_trade_no", dr["OrderNo"].ToString().Trim()); data.SetValue("total_fee", total_fee); data.SetValue("time_start", DateTime.Now.ToString("yyyyMMddHHmmss")); data.SetValue("time_expire", DateTime.Now.AddMinutes(30).ToString("yyyyMMddHHmmss")); data.SetValue("goods_tag", "会员卡消费"); data.SetValue("trade_type", "JSAPI"); data.SetValue("openid", openid); WxPayAPI.JsApiPay jsApiPay = new WxPayAPI.JsApiPay(); jsApiPay.openid = openid; jsApiPay.total_fee = total_fee; WxPayAPI.WxPayData unifiedOrderResult = jsApiPay.GetUnifiedOrderResult(data); wxJsApiParam = jsApiPay.GetJsApiParameters(); WxPayAPI.Log.Debug(this.GetType().ToString(), "wxJsApiParam : " + wxJsApiParam); } } } } else { WxPayAPI.Log.Debug(this.GetType().ToString(), "无效订单或者非预订订单"); } boocuy = false; return; } /** ================酒店周边购物消费========= */ if (state.Contains("D")) { var dt = HotelCloud.SqlServer.SQLHelper.Get_DataTable(@"select top 1 * from WeiXin..SupermarketOrder_Levi where OrderId=@OrderId", HotelCloud.SqlServer.SQLHelper.GetCon(), new Dictionary <string, HotelCloud.SqlServer.DBParam> { { "OrderId", new HotelCloud.SqlServer.DBParam { ParamValue = state } } }); if (dt.Rows.Count > 0) { foreach (System.Data.DataRow dr in dt.Rows) { openid = getopenid(dr["weixinID"].ToString().Trim(), code); var weixinstrtable = HotelCloud.SqlServer.SQLHelper.Get_DataTable(@"select top 1 weixintype,edition from WeiXin..WeiXinNO where WeiXinID=@WeiXinID", HotelCloud.SqlServer.SQLHelper.GetCon(), new Dictionary <string, HotelCloud.SqlServer.DBParam> { { "WeiXinID", new HotelCloud.SqlServer.DBParam { ParamValue = dr["weixinID"].ToString().Trim() } } }); if (weixinstrtable != null) { if (weixinstrtable.Rows.Count > 0) { foreach (System.Data.DataRow rd in weixinstrtable.Rows) { /** ================判断公众号认证情况========= */ weixinstr = rd["weixintype"].ToString(); edition = rd["edition"].ToString(); } } } if ((string.IsNullOrEmpty(weixinstr) || (weixinstr != "2" && weixinstr != "4")) && dr["weixinID"].ToString().Trim() == "gh_def2f166ed9e") { Response.Redirect("http://hotel.weikeniu.com/WeiXinZhiFu/qrcode.aspx?OrderNo=" + dr["OrderId"].ToString().Trim(), false); } else { int total_fee = Convert.ToInt32(Convert.ToDecimal(dr["Money"].ToString()) * 100); /** ================Ashbur微信号对应支付金额 0.01元========= */ if (openid == "oPfrcjmqyO33T8a8Dn21Kq-QMAcg") { total_fee = 1; } if (openid == "oUM4bwdTr3DXhUkGf43lGiipmxMA") { total_fee = 1; } if (openid == "oZLQzv-cg1KvGmrTnq0xdxhK-4kc") { total_fee = 1; } if (string.IsNullOrEmpty(openid)) { WxPayAPI.Log.Error(this.GetType().ToString(), "wxOAuthRedirect|This page have not get params, cannot be inited, exit..."); } else { HotelID = dr["HotelId"].ToString().Trim(); UserWeiXinID = dr["userweixinID"].ToString().Trim(); WeiXinID = dr["weixinID"].ToString().Trim(); WxPayAPI.WxPayData data = new WxPayAPI.WxPayData(); data.SetValue("body", "酒店周边购物消费"); data.SetValue("attach", "presale"); data.SetValue("out_trade_no", dr["OrderId"].ToString().Trim()); data.SetValue("total_fee", total_fee); data.SetValue("time_start", DateTime.Now.ToString("yyyyMMddHHmmss")); data.SetValue("time_expire", DateTime.Now.AddMinutes(30).ToString("yyyyMMddHHmmss")); data.SetValue("goods_tag", "酒店周边购物消费"); data.SetValue("trade_type", "JSAPI"); data.SetValue("openid", openid); WxPayAPI.JsApiPay jsApiPay = new WxPayAPI.JsApiPay(); jsApiPay.openid = openid; jsApiPay.total_fee = total_fee; WxPayAPI.WxPayData unifiedOrderResult = jsApiPay.GetUnifiedOrderResult(data); wxJsApiParam = jsApiPay.GetJsApiParameters(); WxPayAPI.Log.Debug(this.GetType().ToString(), "wxJsApiParam : " + wxJsApiParam); } } } } else { WxPayAPI.Log.Debug(this.GetType().ToString(), "无效订单或者非预订订单"); } boocuy = false; return; } /** ================充值卡消费========= */ if (state.Contains("C")) { var dt = HotelCloud.SqlServer.SQLHelper.Get_DataTable(@"select top 1 * from WeiXin..RechargeUser where OrderNo=@OrderNo", HotelCloud.SqlServer.SQLHelper.GetCon(), new Dictionary <string, HotelCloud.SqlServer.DBParam> { { "OrderNo", new HotelCloud.SqlServer.DBParam { ParamValue = state } } }); if (dt.Rows.Count > 0) { foreach (System.Data.DataRow dr in dt.Rows) { openid = getopenid(dr["HotelWeiXinId"].ToString().Trim(), code); var weixinstrtable = HotelCloud.SqlServer.SQLHelper.Get_DataTable(@"select top 1 weixintype,edition from WeiXin..WeiXinNO where WeiXinID=@WeiXinID", HotelCloud.SqlServer.SQLHelper.GetCon(), new Dictionary <string, HotelCloud.SqlServer.DBParam> { { "WeiXinID", new HotelCloud.SqlServer.DBParam { ParamValue = dr["HotelWeiXinId"].ToString().Trim() } } }); if (weixinstrtable != null) { if (weixinstrtable.Rows.Count > 0) { foreach (System.Data.DataRow rd in weixinstrtable.Rows) { /** ================判断公众号认证情况========= */ weixinstr = rd["weixintype"].ToString(); edition = rd["edition"].ToString(); } } } if ((string.IsNullOrEmpty(weixinstr) || (weixinstr != "2" && weixinstr != "4")) && dr["HotelWeiXinId"].ToString().Trim() == "gh_def2f166ed9e") { Response.Redirect("http://hotel.weikeniu.com/WeiXinZhiFu/qrcode.aspx?OrderNo=" + dr["OrderNo"].ToString().Trim(), false); } else { int total_fee = Convert.ToInt32(Convert.ToDecimal(dr["SPrice"].ToString()) * 100); /** ================Ashbur微信号对应支付金额 0.01元========= */ if (openid == "oPfrcjmqyO33T8a8Dn21Kq-QMAcg") { total_fee = 1; } if (openid == "oUM4bwdTr3DXhUkGf43lGiipmxMA") { total_fee = 1; } if (openid == "oZLQzv-cg1KvGmrTnq0xdxhK-4kc") { total_fee = 1; } if (string.IsNullOrEmpty(openid)) { WxPayAPI.Log.Error(this.GetType().ToString(), "wxOAuthRedirect|This page have not get params, cannot be inited, exit..."); } else { HotelID = dr["HotelId"].ToString().Trim(); UserWeiXinID = dr["UserWeiXinId"].ToString().Trim(); WeiXinID = dr["HotelWeiXinId"].ToString().Trim(); WxPayAPI.WxPayData data = new WxPayAPI.WxPayData(); data.SetValue("body", "充值卡消费"); data.SetValue("attach", "presale"); data.SetValue("out_trade_no", dr["OrderNo"].ToString().Trim()); data.SetValue("total_fee", total_fee); data.SetValue("time_start", DateTime.Now.ToString("yyyyMMddHHmmss")); data.SetValue("time_expire", DateTime.Now.AddMinutes(30).ToString("yyyyMMddHHmmss")); data.SetValue("goods_tag", "充值卡消费"); data.SetValue("trade_type", "JSAPI"); data.SetValue("openid", openid); WxPayAPI.JsApiPay jsApiPay = new WxPayAPI.JsApiPay(); jsApiPay.openid = openid; jsApiPay.total_fee = total_fee; WxPayAPI.WxPayData unifiedOrderResult = jsApiPay.GetUnifiedOrderResult(data); wxJsApiParam = jsApiPay.GetJsApiParameters(); WxPayAPI.Log.Debug(this.GetType().ToString(), "wxJsApiParam : " + wxJsApiParam); } } } } else { WxPayAPI.Log.Debug(this.GetType().ToString(), "无效订单或者非预订订单"); } boocuy = false; return; } /** ================度假产品消费========= */ if (state.Contains("P")) { var dt = HotelCloud.SqlServer.SQLHelper.Get_DataTable(@"select top 1 * from WeiXin..SaleProducts_Orders where OrderNo=@OrderNo", HotelCloud.SqlServer.SQLHelper.GetCon(), new Dictionary <string, HotelCloud.SqlServer.DBParam> { { "OrderNo", new HotelCloud.SqlServer.DBParam { ParamValue = state } } }); if (dt.Rows.Count > 0) { foreach (System.Data.DataRow dr in dt.Rows) { openid = getopenid(dr["HotelWeiXinId"].ToString().Trim(), code); var weixinstrtable = HotelCloud.SqlServer.SQLHelper.Get_DataTable(@"select top 1 weixintype,edition from WeiXin..WeiXinNO where WeiXinID=@WeiXinID", HotelCloud.SqlServer.SQLHelper.GetCon(), new Dictionary <string, HotelCloud.SqlServer.DBParam> { { "WeiXinID", new HotelCloud.SqlServer.DBParam { ParamValue = dr["HotelWeiXinId"].ToString().Trim() } } }); if (weixinstrtable != null) { if (weixinstrtable.Rows.Count > 0) { foreach (System.Data.DataRow rd in weixinstrtable.Rows) { /** ================判断公众号认证情况========= */ weixinstr = rd["weixintype"].ToString(); edition = rd["edition"].ToString(); } } } if ((string.IsNullOrEmpty(weixinstr) || (weixinstr != "2" && weixinstr != "4")) && dr["HotelWeiXinId"].ToString().Trim() == "gh_def2f166ed9e") { /** ================未认证情况 进行调整到二维码扫描支付 目前这个方式也不OK========= */ Response.Redirect("http://hotel.weikeniu.com/WeiXinZhiFu/qrcode.aspx?OrderNo=" + dr["OrderNo"].ToString().Trim(), false); } else { int total_fee = Convert.ToInt32(Convert.ToDecimal(dr["OrderMoney"].ToString()) * 100); /** ================Ashbur微信号对应支付金额 0.01元========= */ if (openid == "oPfrcjmqyO33T8a8Dn21Kq-QMAcg") { total_fee = 1; } if (openid == "oUM4bwdTr3DXhUkGf43lGiipmxMA") { total_fee = 1; } if (openid == "oZLQzv-cg1KvGmrTnq0xdxhK-4kc") { total_fee = 1; } if (string.IsNullOrEmpty(openid)) { WxPayAPI.Log.Error(this.GetType().ToString(), "wxOAuthRedirect|This page have not get params, cannot be inited, exit..."); } else { HotelID = dr["HotelId"].ToString().Trim(); UserWeiXinID = dr["UserWeiXinId"].ToString().Trim(); WeiXinID = dr["HotelWeiXinId"].ToString().Trim(); WxPayAPI.WxPayData data = new WxPayAPI.WxPayData(); data.SetValue("body", dr["ProductName"].ToString().Trim()); data.SetValue("attach", "presale"); data.SetValue("out_trade_no", dr["OrderNo"].ToString().Trim()); data.SetValue("total_fee", total_fee); data.SetValue("time_start", DateTime.Now.ToString("yyyyMMddHHmmss")); data.SetValue("time_expire", DateTime.Now.AddMinutes(30).ToString("yyyyMMddHHmmss")); data.SetValue("goods_tag", dr["ProductName"].ToString().Trim() + "[" + dr["TcName"].ToString().Trim() + "]"); data.SetValue("trade_type", "JSAPI"); data.SetValue("openid", openid); WxPayAPI.JsApiPay jsApiPay = new WxPayAPI.JsApiPay(); jsApiPay.openid = openid; jsApiPay.total_fee = total_fee; WxPayAPI.WxPayData unifiedOrderResult = jsApiPay.GetUnifiedOrderResult(data); wxJsApiParam = jsApiPay.GetJsApiParameters(); WxPayAPI.Log.Debug(this.GetType().ToString(), "wxJsApiParam : " + wxJsApiParam); } } } } else { WxPayAPI.Log.Debug(this.GetType().ToString(), "无效订单或者非预订订单"); } boocuy = false; return; } /** ================ 酒店周边餐饮消费========= */ if (state.Contains("L")) { var dt = HotelCloud.SqlServer.SQLHelper.Get_DataTable(@"select top 1 bagging,amount,youhuiamount,ISNULL(CouponMoney,0) as CouponMoney,hotelid,userweixinid,hotelWeixinId,orderCode,(select sum(AliPayAmount) from WeiXin..wkn_payrecords where OrderNO=orderCode and Channel='微信支付回调') as zhifu,storeID from WeiXin..T_OrderInfo where orderCode=@orderCode", HotelCloud.SqlServer.SQLHelper.GetCon(), new Dictionary <string, HotelCloud.SqlServer.DBParam> { { "orderCode", new HotelCloud.SqlServer.DBParam { ParamValue = state } } }); if (dt.Rows.Count > 0) { foreach (System.Data.DataRow dr in dt.Rows) { openid = getopenid(dr["hotelWeixinId"].ToString().Trim(), code); var weixinstrtable = HotelCloud.SqlServer.SQLHelper.Get_DataTable(@"select top 1 weixintype,edition from WeiXin..WeiXinNO where WeiXinID=@WeiXinID", HotelCloud.SqlServer.SQLHelper.GetCon(), new Dictionary <string, HotelCloud.SqlServer.DBParam> { { "WeiXinID", new HotelCloud.SqlServer.DBParam { ParamValue = dr["hotelWeixinId"].ToString().Trim() } } }); if (weixinstrtable != null) { if (weixinstrtable.Rows.Count > 0) { foreach (System.Data.DataRow rd in weixinstrtable.Rows) { /** ================判断公众号认证情况========= */ weixinstr = rd["weixintype"].ToString(); edition = rd["edition"].ToString(); } } } if ((string.IsNullOrEmpty(weixinstr) || (weixinstr != "2" && weixinstr != "4")) && dr["hotelWeixinId"].ToString() == "gh_def2f166ed9e") { /** ================未认证情况 进行调整到二维码扫描支付========= */ Response.Redirect("http://hotel.weikeniu.com/WeiXinZhiFu/qrcode.aspx?OrderNo=" + dr["orderCode"].ToString().Trim(), false); } else { string bagging = dr["bagging"].ToString(); string youhuiamount = dr["youhuiamount"].ToString(); if (string.IsNullOrEmpty(bagging)) { bagging = "0"; } if (string.IsNullOrEmpty(youhuiamount)) { youhuiamount = "0"; } Zhifu = dr["zhifu"].ToString();; if (string.IsNullOrEmpty(Zhifu)) { Zhifu = "0"; } int total_fee = Convert.ToInt32((Convert.ToDecimal(dr["amount"].ToString()) - Convert.ToDecimal(youhuiamount) + Convert.ToDecimal(bagging) - Convert.ToDecimal(dr["CouponMoney"].ToString())) * 100); /** ================Ashbur微信号对应支付金额 0.01元========= */ if (openid == "oPfrcjmqyO33T8a8Dn21Kq-QMAcg") { total_fee = 1; } if (openid == "oUM4bwdTr3DXhUkGf43lGiipmxMA") { total_fee = 1; } if (openid == "oZLQzv-cg1KvGmrTnq0xdxhK-4kc") { total_fee = 1; } if (string.IsNullOrEmpty(openid)) { WxPayAPI.Log.Error(this.GetType().ToString(), "wxOAuthRedirect|This page have not get params, cannot be inited, exit..."); } else { HotelID = dr["hotelid"].ToString().Trim(); UserWeiXinID = dr["userweixinid"].ToString().Trim(); WeiXinID = dr["hotelWeixinId"].ToString().Trim(); storeId = dr["storeId"].ToString().Trim(); WxPayAPI.WxPayData data = new WxPayAPI.WxPayData(); data.SetValue("body", "酒店周边餐饮消费"); data.SetValue("attach", "consumption"); data.SetValue("out_trade_no", dr["orderCode"].ToString().Trim()); data.SetValue("total_fee", total_fee); data.SetValue("time_start", DateTime.Now.ToString("yyyyMMddHHmmss")); data.SetValue("time_expire", DateTime.Now.AddMinutes(30).ToString("yyyyMMddHHmmss")); data.SetValue("goods_tag", "酒店周边餐饮消费"); data.SetValue("trade_type", "JSAPI"); data.SetValue("openid", openid); WxPayAPI.JsApiPay jsApiPay = new WxPayAPI.JsApiPay(); jsApiPay.openid = openid; jsApiPay.total_fee = total_fee; WxPayAPI.WxPayData unifiedOrderResult = jsApiPay.GetUnifiedOrderResult(data); wxJsApiParam = jsApiPay.GetJsApiParameters(); WxPayAPI.Log.Debug(this.GetType().ToString(), "wxJsApiParam : " + wxJsApiParam); } } } } else { WxPayAPI.Log.Debug(this.GetType().ToString(), "无效订单或者非预订订单"); } boocuy = false; return; } /** ================ 酒店客房销售========= */ if (boocuy) { hotel3g.Repository.Order order = hotel3g.Repository.OrderRepository.GetOrderInfo(state); var weixinstrtable = HotelCloud.SqlServer.SQLHelper.Get_DataTable(@"select top 1 weixintype,edition from WeiXin..WeiXinNO where WeiXinID=@WeiXinID", HotelCloud.SqlServer.SQLHelper.GetCon(), new Dictionary <string, HotelCloud.SqlServer.DBParam> { { "WeiXinID", new HotelCloud.SqlServer.DBParam { ParamValue = order.WeiXinID.Trim() } } }); if (weixinstrtable != null) { if (weixinstrtable.Rows.Count > 0) { foreach (System.Data.DataRow rd in weixinstrtable.Rows) { /** ================判断公众号认证情况========= */ weixinstr = rd["weixintype"].ToString(); edition = rd["edition"].ToString(); } } } if ((string.IsNullOrEmpty(weixinstr) || (weixinstr != "2" && weixinstr != "4")) && order.WeiXinID.Trim() == "gh_def2f166ed9e") { /** ================未认证情况 进行调整到二维码扫描支付========= */ Response.Redirect("http://hotel.weikeniu.com/WeiXinZhiFu/qrcode.aspx?OrderNo=" + order.OrderNo.ToString(), false); } else { if (order == null || order.PayType != "0") { WxPayAPI.Log.Debug(this.GetType().ToString(), "无效订单或者非预订订单"); } else { openid = getopenid(order.WeiXinID.Trim(), code); int total_fee = order.OrderAmount * 100; /** ================Ashbur微信号对应支付金额 0.01元========= */ if (openid == "oPfrcjmqyO33T8a8Dn21Kq-QMAcg") { total_fee = 1; } if (openid == "oUM4bwdTr3DXhUkGf43lGiipmxMA") { total_fee = 1; } if (openid == "oZLQzv-cg1KvGmrTnq0xdxhK-4kc") { total_fee = 1; } if (string.IsNullOrEmpty(openid)) { WxPayAPI.Log.Error(this.GetType().ToString(), "wxOAuthRedirect|This page have not get params, cannot be inited, exit..."); } else { HotelID = order.HotelID.ToString().Trim(); UserWeiXinID = order.UserWeiXinID.Trim(); WeiXinID = order.WeiXinID.Trim(); if (edition == "1") { orderid = order.Id.ToString(); } orderid = order.Id.ToString(); WxPayAPI.WxPayData data = new WxPayAPI.WxPayData(); data.SetValue("body", order.HotelName.Trim()); data.SetValue("attach", "weikeniuwx"); data.SetValue("out_trade_no", order.OrderNo); data.SetValue("total_fee", total_fee); data.SetValue("time_start", DateTime.Now.ToString("yyyyMMddHHmmss")); data.SetValue("time_expire", DateTime.Now.AddMinutes(30).ToString("yyyyMMddHHmmss")); data.SetValue("goods_tag", order.RoomName + "[" + order.RatePlanName + "]"); data.SetValue("trade_type", "JSAPI"); data.SetValue("openid", openid); WxPayAPI.JsApiPay jsApiPay = new WxPayAPI.JsApiPay(); jsApiPay.openid = openid; jsApiPay.total_fee = total_fee; WxPayAPI.WxPayData unifiedOrderResult = jsApiPay.GetUnifiedOrderResult(data); wxJsApiParam = jsApiPay.GetJsApiParameters(); WxPayAPI.Log.Debug(this.GetType().ToString(), "wxJsApiParam : " + wxJsApiParam); } } } } } }