- 小程序红包配置及开发小结
配置: 1、进入商户平台 在产品中心找到小程序红包 开通小程序红包功能 2、开通后在左边的APPID授权管理中关联该小程序APPID 3、进入小程序后台 在功能==》微信支付中确认关联并授权 4、回到商户平台APPID授权管理中确认关联 5、这是最容易忽略的一点 在商户平台 产品中心 小程序红包的产品设置中 拉到最下面 小程序红包权限中开通该小程序的红包功能 到此小程序红包配置完成 开发: 发送红包 var mdhbhe = Convert.ToInt32(fee * 100); string mch_billno = mdminihb.Mch_id + DateTime.Now.ToString("yyyyMMdd") + GenerateNonceStr(); WxPayData hb = new WxPayData(); hb.SetValue("act_name", mdminihb.Act_name);//活动名称 hb.SetValue("mch_billno", mch_billno);//单号 hb.SetValue("mch_id", mdminihb.Mch_id);//发送红包的商户号 hb.SetValue("nonce_str", GenerateNonceStr()); hb.SetValue("notify_way", "MINI_PROGRAM_JSAPI"); hb.SetValue("re_openid", openid); hb.SetValue("remark", mdminihb.Remark); hb.SetValue("send_name", mdminihb.Send_name);//商户名称 hb.SetValue("total_amount", mdhbhe);//红包金额 单位分 hb.SetValue("total_num", 1);//红包数量 hb.SetValue("wishing", mdminihb.Wishing);//祝福语 hb.SetValue("wxappid", mdminihb.Wxappid);//绑定在商户的小程序的appid 不是公众号的 hb.SetValue("scene_id", mdminihb.Scene_id); var sign = hb.MakeSign2(mdminihb.Mch_key);//商户秘钥 hb.SetValue("sign", sign); string xml = hb.ToXml(); string response = HttpService.HbPost(xml, url, true, 6, mdminihb.Mch_path, mdminihb.Mch_certkey); WxPayData result = new WxPayData(); result.FromXml(response);//将xml格式的结果转换为对象以返回 var package = ""; if (result.GetValue("return_code").ToString() == "SUCCESS" && result.GetValue("result_code").ToString() == "SUCCESS") { //这边是成功后返回的代码 具体逻辑判断自己处理 package = result.GetValue("package").ToString();//成功后返回的 package = HttpUtility.UrlEncode(package); //这是用于领取红包的代码 WxPayData inputObj = new WxPayData(); inputObj.SetValue("appId", mdminihb.Wxappid);//这边是小程序的appId 这个appId 一定要记住 I要大写 inputObj.SetValue("timeStamp", timeStamp); inputObj.SetValue("nonceStr", nonceStr); inputObj.SetValue("package", package); var paySign = inputObj.HBMakeSign(mdminihb.Mch_key);//商户秘钥 } 签名方法: public string MakeSign2(string key) { //转url格式 string str = ToUrl(); //在string后加入API KEY str += "&key=" + key + ""; var rd = Md5.md5(str, 32); // 所有字符转为大写 return rd.ToUpper(); } 还有记得带证书 写的比较笼统 有不清楚的再补充 补充说明1:目前小程序红包仅支持用户微信扫码打开小程序,进行红包领取。(场景值1011,1025,1047,1124,小程序场景值详情参见文档 这个条件一定要注意 所以特别注意一定要通过wx.getLaunchOptionsSync()先看下场景值对不对 特别说明 体验版的二维码是无法领取红包的(第三方的要注意) 补充说明2:第二次领取红包的签名不需要大写
2020-01-02 - 微信小程序中有关红包或零钱的问题?
场景:在小程序的页面中,有一个提交按钮,点击提交按钮成功之后弹出一个红包,点击之后可以抢到一个随机红包,即存到微信零钱中。请问这种场景可以实现嘛 或者有其他友好的办法实现这个场景?
02-21 - 小程序video播放视频支持退出小程序后画中画播放吗,如果支持该怎么处理,画中画功能只有直播吗?
媒体组件,video
05-28 - 为什么不建议用openid作为登录凭证?
在开发小程序的过程中,登录是一个入口场景,基本每个开发者都会遇到, 那么在开发过程中,我们知道 既然openid是唯一的,那我为什么不能用openid作为凭证,还要麻烦的用个第三方session 其实我之前也一直不明白,今天看了下面这个例子,顿时豁然开朗 有可能造成数据越权。 比如今天我通过我的手机登录了微信,打开了小程序。但是明天有个朋友想用我的手机登一下微信。如果用openid作为登录凭证,登录小程序的时候检测到openid已经存在,所以不会再走登录过程,这样我的数据就让我的朋友看到了。所以还是要按照官方推荐的步骤来。 ### 20191224 https://developers.weixin.qq.com/community/develop/doc/0002a028214de86e94079941551800 小明同学很稀罕同桌小花,有天看到小花在某个微信公众号写日记,好巧,猥琐的小明看到并记住了小花的开屏密码。等课间小花同学出去时,将她手机开机并打开了那个公众号,进入了个人中心。 哎呀,时间不够看呀,于是选择了用浏览器打开看到了URL。 你说巧不巧,这个站竟然在URL里有个openid的传值,没有登陆鉴权。 小明用他无比迅捷的手速把url发给了自己的号,还不着痕迹地打扫了战场。 以后的日子里,小明时刻都能通过点击那个url翻看小花的日记,真是爽煞,发起了向女神攻心的神级技能。 ### 20200107 更新:下面这个文章有说明为什么不用openid作为登录态 https://developers.weixin.qq.com/community/develop/doc/000c2424654c40bd9c960e71e5b009 Q2: 既然用户的openId是永远不变的,那么开发者可以使用openId作为用户的登录态么? A:行,这是非常危险的行为。因为openId是不变的,如果有坏人拿着别人的openId来进行请求,那么就会出现冒充的情况。所以我们建议开发者可以自己在后台生成一个拥有有效期的第三方session来做登录态,用户每隔一段时间都需要进行更新以保障数据的安全性。
2020-01-07 - 一个营业执照可以注册多少个开放平台账号?
50个。
2019-12-27