/// <summary> /// 获取单个门店信息 /// </summary> /// <param name="access_token">公众号access token</param> /// <param name="poi_id">为门店小程序添加门店,审核成功后返回的门店id</param> /// <returns></returns> public JsonResult <POIBusiness> MiniprogramGetPoi(string access_token, string poi_id) { string url = $"{Config.WxApi}wxa/get_store_info?access_token={access_token}"; var obj = new { poi_id }; return(WxAPI.RequestData <POIBusiness>(url, obj, Method.POST)); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { try { TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0); timestr = Convert.ToInt64(ts.TotalSeconds).ToString(); WxAPI wxapi = WxAPI.Code_Get(1); appMod = appBll.SelReturnModel(1); string result = APIHelper.GetWebResult("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + appMod.APPID + "&secret=" + appMod.Secret); if (result.Contains("errcode")) { wxapi.ErroMsg(result); } //{"access_token":"7EHneznPapbfKYIQISQGVw4comvbkxIWe5e7JmTkp2Y5P93aIO5FjjEeyvk65L4lcPeL6VuMOMZ7CKel95L_ljZnjZrdi-MGPK9mZZOuSN8","expires_in":7200} JObject obj = JsonConvert.DeserializeObject <JObject>(result); appMod.Token = obj["access_token"].ToString(); appMod.TokenDate = DateTime.Now; appBll.UpdateByID(appMod); string jsapi_ticket = APIHelper.GetWebResult("https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=" + appMod.Token + "&type=jsapi"); JObject jsapi_obj = (JObject)JsonConvert.DeserializeObject(jsapi_ticket); string stringA = "jsapi_ticket=" + jsapi_obj["ticket"].ToString() + "&noncestr=" + nonceStr + "×tamp=" + timestr + "&url=" + Request.Url.AbsoluteUri; paySign = EncryptHelper.SHA1(stringA).ToLower(); } catch (Exception ex) { } } }
protected void Page_Load(object sender, EventArgs e) { if (function.isAjax()) { string result = "", action = Request.Form["action"]; int appid = DataConverter.CLng(Request.Form["appid"]); api = WxAPI.Code_Get(appid); switch (action) { case "del": result = api.DelWxMaterial(Request.Form["media_id"], Request.Form["type"]); break; default: break; } Response.Write(result); Response.Flush(); Response.End(); } if (AppId > 0) { api = WxAPI.Code_Get(AppId); } if (!IsPostBack) { DataTable dt = appBll.Sel(); WxApp_RPT.DataSource = dt; WxApp_RPT.DataBind(); Datas_Hid.Value = GetConfigData(dt); Call.SetBreadCrumb(Master, "<li><a href='" + customPath2 + "Main.aspx'>工作台</a></li><li><a href='" + customPath2 + "WeiXin/WxAppManage.aspx'>公众号管理</a></li><li class='active'>素材管理 [<a href='MsgsSend.aspx?action=add&appid=" + AppId + "'>添加素材</a>]</li>"); } }
/// <summary> /// 获取消息发送分布数据 /// </summary> /// <param name="access_token">公众号access token</param> /// <param name="type">字符串小写 /// type:null || "" 获取消息发送分布数据,最大时间跨度15 /// type:week 获取消息发送分布周数据,最大时间跨度30 /// type:month 获取消息发送分布月数据,最大时间跨度30 /// </param> /// <returns></returns> public DataList <UpStreamMsgDist> GetUpStreamMsgDist(string access_token, string begin_date, string end_date, string type) { string param = null; switch (type) { case "week": param = "getupstreammsgdistweek"; break; case "month": param = "getupstreammsgdistmonth"; break; default: param = "getupstreammsgdist"; break; } string url = $"{Config.WxApi}datacube/{param}?access_token={access_token}"; var obj = new { begin_date, end_date }; return(WxAPI.Request <DataList <UpStreamMsgDist> >(url, obj, Method.POST)); }
protected void Pay_Btn_Click(object sender, EventArgs e) { function.WriteErrMsg("提现功能暂未开放"); double max = GetMaxMoney(); if (max < 1) { function.WriteErrMsg("可提现余额不够"); return; } WxAPI wxapi = WxAPI.Code_Get(); M_UserAPP appMod = appBll.SelReturnModel(mu.UserID); if (appMod == null || string.IsNullOrEmpty(appMod.OpenID)) { function.WriteErrMsg("未绑定微信账号"); return; } CommonReturn ret = SendMoney(wxapi.AppId, appMod.OpenID, max, "余额提现"); if (ret.isok) { buser.MinusVMoney(mu.UserID, max, M_UserExpHis.SType.Purse, "余额提现"); function.WriteSuccessMsg("提现成功", "/User/"); } else { function.WriteErrMsg("操作失败,原因:" + ret.err); } //var cert= HttpService.Cert_GetByName(wxapi.AppId.Pay_SSLPath); //CommonReturn ret = SendMoney(wxapi.AppId, "oGUkXxN83jNbKCbtrNFny5tqHtok", 1, "测试付款"); }
/// <summary> /// 图文消息群发,获取插入到图文中的html代码 /// </summary> /// <param name="access_token">公众号access token</param> /// <param name="card_id">卡券ID</param> /// <returns>data字段为卡券的html</returns> public JsonResult <string> GetCardHTML(string access_token, string card_id) { var obj = new { card_id }; string url = $"{Config.WxApi}card/mpnews/gethtml?access_token={access_token}"; return(WxAPI.RequestData <string>(url, obj, Method.POST));//WxAPI.Reqeust<CardHtmlResult>(url, obj, Method.POST); }
/// <summary> /// 获取用户身上的标签列表 /// </summary> /// <param name="access_token">公众号access token</param> /// <param name="openid">普通用户的标识,对当前公众号唯一</param> /// <returns></returns> public JsonResult <List <string> > GetUserTag(string access_token, string openid) { string url = $"{Config.WxApi}cgi-bin/tags/getidlist?access_token={access_token}"; var obj = new { openid }; return(WxAPI.RequestData <List <string> >(url, obj, Method.POST)); }
/// <summary> /// 获取用户开卡时提交的信息(非跳转型开卡组件) /// </summary> /// <param name="access_token">公众号access token</param> /// <param name="card_id">卡券id,非自定义code类型会员卡不必填写</param> /// <param name="code"> 会员卡的code</param> /// <returns></returns> public MemberCardUserInfoReuslt GetAactiveTempInfo(string access_token, string card_id, string code) { string url = $"{Config.WxApi}card/code/get?access_token={access_token}"; var obj = new { card_id, code }; return(WxAPI.Request <MemberCardUserInfoReuslt>(url, obj, Method.POST)); }
/// <summary> /// 设置支付后投放卡券 /// </summary> /// <param name="access_token"></param> /// <param name="rule_info"></param> /// <returns></returns> public SetPayGiftCardResult SetPayGiftCard(string access_token, PayGiftCardRule rule_info) { var obj = new { rule_info }; string url = $"{Config.WxApi}card/paygiftcard/add?access_token={access_token}"; return(WxAPI.Request <SetPayGiftCardResult>(url, obj, Method.POST)); }
/// <summary> /// 获取开卡插件参数 /// </summary> /// <param name="access_token">公众号access token</param> /// <param name="card_id">会员卡的card_id</param> /// <param name="outer_str">渠道值,用于统计本次领取的渠道参数</param> /// <returns>data字段为返回的url,内含调用开卡插件所需的参数</returns> public JsonResult <string> GetActiveUrl(string access_token, string card_id, string outer_str) { string url = $"{Config.WxApi}card/membercard/activate/geturl?access_token={access_token}"; var obj = new { card_id, outer_str }; return(WxAPI.RequestData <string>(url, obj, Method.POST)); }
/// <summary> /// 获取用户开卡时提交的信息(跳转型开卡组件) /// </summary> /// <param name="access_token">公众号access token</param> /// <param name="activate_ticket">跳转型开卡组件开卡后回调中的激活票据,可以用来获取用户开卡资料</param> /// <returns></returns> public JsonResult <MemberCardUserField> GetActiveTempInfo(string access_token, string activate_ticket) { string url = $"{Config.WxApi}card/membercard/activatetempinfo/get?access_token={access_token}"; var obj = new { activate_ticket }; return(WxAPI.RequestData <MemberCardUserField>(url, obj, Method.POST)); }
/// <summary> /// 查询支付后投放卡券规则详情 /// </summary> /// <param name="access_token">公众号access token</param> /// <param name="rule_id">规则id</param> /// <returns></returns> public GetPayGiftCardResult GetPayGiftCardRule(string access_token, string rule_id) { var obj = new { rule_id }; string url = $"{Config.WxApi}card/paygiftcard/getbyid?access_token={access_token}"; return(WxAPI.Request <GetPayGiftCardResult>(url, obj, Method.POST)); }
protected void ReToken_Btn_Click(object sender, EventArgs e) { WxAPI api = WxAPI.Code_Get(Mid); api.GetToken(); function.WriteSuccessMsg("已重新获取Token"); }
/// <summary> /// 获取门店小程序配置的卡券 /// </summary> /// <param name="access_token">公众号access token</param> /// <param name="poi_id">为门店小程序添加门店,审核成功后返回的门店id</param> /// <returns>data字段为门店配置的卡券id</returns> public JsonResult <string> MiniprogramPoiGetCard(string access_token, string poi_id) { string url = $"{Config.WxApi}card/storewxa/get?access_token={access_token}"; var obj = new { poi_id }; return(WxAPI.RequestData <string>(url, obj, Method.POST)); }
/// <summary> /// 申请微信支付礼品卡权限 /// </summary> /// <param name="access_token">公众号access token</param> /// <param name="sub_mch_id">微信支付子商户号</param> /// <returns>data字段为url</returns> public JsonResult <string> SetPayWhiteList(string access_token, string sub_mch_id) { var obj = new { sub_mch_id }; string url = $"{Config.WxApi}card/giftcard/pay/whitelist/add?access_token={access_token}"; return(WxAPI.RequestData <string>(url, obj, Method.POST)); }
/// <summary> /// 更新子商户 /// </summary> /// <param name="access_token">公众号access token</param> /// <param name="info">子商户数据</param> /// <returns></returns> public JsonResult <SubMerchant> UpdateSubMerchant(string access_token, SubMerchant info) { var obj = new { info }; string url = $"{Config.WxApi}card/submerchant/update?access_token={access_token}"; return(WxAPI.RequestData <SubMerchant>(url, obj, Method.POST)); }
/// <summary> /// 查询导入code数目 /// </summary> /// <param name="access_token">公众号access token</param> /// <param name="card_id">进行导入code的卡券ID</param> /// <returns>data字段为已经成功存入的code数目。</returns> public JsonResult <int> GetCardCodeCount(string access_token, string card_id) { var obj = new { card_id }; string url = $"{Config.WxApi}card/code/getdepositcount?access_token={access_token}"; return(WxAPI.RequestData <int>(url, obj, Method.POST)); }
/// <summary> /// 拉取单个子商户信息 /// </summary> /// <param name="access_token">公众号access token</param> /// <param name="merchant_id">子商户数据</param> /// <returns></returns> public JsonResult <SubMerchant> GetSubMerchant(string access_token, string merchant_id) { var obj = new { merchant_id }; string url = $"{Config.WxApi}card/submerchant/get?access_token={access_token}"; return(WxAPI.RequestData <SubMerchant>(url, obj, Method.POST)); }
/// <summary> /// 删除卡券 /// </summary> /// <param name="access_token">公众号access token</param> /// <param name="card_id">卡券ID</param> /// <returns></returns> public JsonResult DeleteCard(string access_token, string card_id) { var obj = new { card_id }; string url = $"{Config.WxApi}card/delete?access_token={access_token}"; return(WxAPI.Request <JsonResult>(url, obj, Method.POST)); }
/// <summary> /// 查询-单个礼品卡订单信息 /// </summary> /// <param name="access_token">公众号access token</param> /// <param name="order_id">礼品卡订单号,商户可以通过购买成功的事件推送或者批量查询订单接口获得</param> /// <returns></returns> public JsonResult <GiftCardOrder> GetOrder(string access_token, string order_id) { var obj = new { order_id }; string url = $"{Config.WxApi}card/giftcard/order/get?access_token={access_token}"; return(WxAPI.RequestData <GiftCardOrder>(url, obj, Method.POST)); }
/// <summary> /// 删除个性化菜单 /// </summary> /// <param name="access_token">公众号access token</param> /// <param name="menuid">个性化菜单id</param> /// <returns></returns> public JsonResult Delete(string access_token, string menuid) { string url = $"{Config.WxApi}cgi-bin/menu/delconditional?access_token={access_token}"; var obj = new { menuid }; return(WxAPI.Request <JsonResult>(url, obj, Method.POST)); }
/// <summary> /// 创建-礼品卡货架 /// </summary> /// <param name="access_token">公众号access token</param> /// <param name="page">礼品卡货架数据</param> /// <returns>data字段为货架id</returns> public JsonResult <string> CareateShelves(string access_token, GiftCardShelves page) { var obj = new { page }; string url = $"{Config.WxApi}card/giftcard/page/add?access_token={access_token}"; return(WxAPI.RequestData <string>(url, obj, Method.POST)); }
private DataTable SendImage(M_WX_MsgTlp tlpMod, string appids) { DataTable dt = GetResultStruct(); M_WXImgItem itemMod = JsonConvert.DeserializeObject <M_WXImgItem>(tlpMod.MsgContent); foreach (string id in appids.Split(',')) { if (DataConvert.CLng(id) < 1) { continue; } api = WxAPI.Code_Get(Convert.ToInt32(id)); DataRow dr = dt.NewRow(); dr["isok"] = true; dr["appid"] = api.AppId.APPID.ToString(); dr["alias"] = api.AppId.Alias; switch (Request["mode_rad"]) { case "loop": M_WxImgMsg imgMod = new M_WxImgMsg(); imgMod.Articles.Add(itemMod); api.SendAllBySingle(imgMod); break; } } return(dt); }
/// <summary> /// 订单退款 /// </summary> /// <param name="access_token">公众号access token</param> /// <param name="order_id">须退款的订单id</param> /// <returns></returns> public JsonResult OrderRefund(string access_token, string order_id) { var obj = new { order_id }; string url = $"{Config.WxApi}card/giftcard/order/refund?access_token={access_token}"; return(WxAPI.Request <JsonResult>(url, obj, Method.POST)); }
public void WeiXinPay() { WxAPI api = WxAPI.Code_Get();//输入指的公众账号ID,如不指定,则默认取第一个 string code = Request.QueryString["code"]; string resultStr = APIHelper.GetWebResult("https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + api.AppId.APPID + "&secret=" + api.AppId.Secret + "&code=" + code + "&grant_type=authorization_code"); JObject obj = (JObject)JsonConvert.DeserializeObject(resultStr); WxPayData wxdata = new WxPayData(); wxdata.SetValue("out_trade_no", timestr); wxdata.SetValue("body", "支付测试"); wxdata.SetValue("total_fee", 1); wxdata.SetValue("trade_type", "JSAPI"); wxdata.SetValue("notify_url", notifyUrl); wxdata.SetValue("product_id", "1212122121"); //必填 wxdata.SetValue("openid", obj["openid"].ToString()); //公众号支付必填 wxdata.SetValue("nonce_str", nonceStr); WxPayData result = WxPayApi.UnifiedOrder(wxdata); if (result.GetValue("return_code").ToString().Equals("FAIL")) { function.WriteErrMsg("商户" + result.GetValue("return_msg")); } prepay_id = result.GetValue("prepay_id").ToString(); }
/// <summary> /// 查询-礼品卡货架信息 /// </summary> /// <param name="access_token">公众号access token</param> /// <param name="page_id">货架id</param> /// <returns>data字段为货架信息结构体</returns> public JsonResult <GiftCardShelves> GetShelves(string access_token, string page_id) { var obj = new { page_id }; string url = $"{Config.WxApi}card/giftcard/page/get?access_token={access_token}"; return(WxAPI.RequestData <GiftCardShelves>(url, obj, Method.POST)); }
/// <summary> /// 获取公众号/小程序所绑定的开放平台帐号 /// </summary> /// <param name="access_token"></param> /// <param name="appid">授权公众号或小程序的 appid</param> public JsonResult <string> GetBindOepnPlatform(string access_token, string appid) { string url = $"{Config.WxApi}cgi-bin/open/get?access_token={access_token}"; var obj = new { appid }; return(WxAPI.RequestData <string>(url, obj, Method.POST)); }
/// <summary> /// 修改-礼品卡货架信息 /// </summary> /// <param name="access_token">公众号access token</param> /// <param name="page">货架修改信息</param> /// <returns></returns> public JsonResult UpdateShelves(string access_token, GiftCardShelves page) { var obj = new { page }; string url = $"{Config.WxApi}card/giftcard/page/update?access_token=ACCESS_TOKEN"; return(WxAPI.Request <JsonResult>(url, obj, Method.POST)); }
public IActionResult WXUser_API() { WxAPI api = WxAPI.Code_Get(AppId); string action = GetParam("action"); string result = ""; switch (action) { case "update": string openid = GetParam("openid"); M_WX_User oldmod = wxuserBll.SelForOpenid(openid); if (oldmod != null && oldmod.ID > 0) { M_WX_User usermod = api.GetWxUserModel(openid); usermod.ID = oldmod.ID; usermod.CDate = DateTime.Now; usermod.AppId = AppId; wxuserBll.UpdateByID(usermod); result = JsonConvert.SerializeObject(usermod); } else { result = "-1"; } break; default: break; } return(Content(result)); }
protected void SaveNew_B_Click(object sender, EventArgs e) { List <M_WXImgItem> imgList = JsonConvert.DeserializeObject <List <M_WXImgItem> >(Article_Hid.Value); //替换img路径 foreach (var item in imgList) { item.Description = htmlHelp.ConvertImgUrl(item.Description, "http://" + Request.Url.Authority); if (!string.IsNullOrEmpty(MediaID) && (item.PicUrl.Contains("https://") || item.PicUrl.Contains("http://")))//当为修改图文时判断路径是否为网络格式 { item.PicUrl = GetImgVpath(item.PicUrl); } } if (!string.IsNullOrEmpty(Request.Form["appids"])) { string[] appids = Request.Form["appids"].Split(','); foreach (var item in appids) { WxAPI m_api = WxAPI.Code_Get(Convert.ToInt32(item)); string result = UpMpNews(imgList); if (!result.Contains("errcode")) { function.WriteSuccessMsg("操作成功!", "WxMaterial.aspx?type=news&appid=" + AppID); } else { function.WriteSuccessMsg("操作失败!原因:" + result); } } } else { function.WriteErrMsg("请选择微信公众号!"); } }