小程序制作平台模板-小程序怎么发红包

摘要: 手机微信微信小程序如何泛红包?最先你必须一个微信公众号和微信小程序。在微信小程序中推送务必先关心微信公众号。那样你也就可使用微信公众号的大红包插口给客户推送大红包...

--------

小程序制作平台模板

-------

手机微信小程序如何发红包?最先你需要一个微信公众号和小程序。在小程序中推送务必先关心微信公众号。这样你便可以应用微信公众号的红包插口给客户推送红包。

基本原理:

当小程序和微信公众号关系时,每个客户在小程序和微信公众号共有一个union_id,但open_id是不一样的,因此在需要发红包是最先得到小程序的open_id和union_id,依据union_id的唯一性获得微信公众号的open_id,再启用微信公众号的红包插口(mmpaymkttransfers/sendredpack)便可以完成.

附上主要参数目标编码:

//建立主要参数Map
public static SortedMap Object, Object  getWithdrawParam(String openid, int value) {
 SortedMap Object, Object  parameters = new TreeMap Object, Object 
 parameters.put( mch_appid , PropertyUtil.getInstance().getProperty( wx.appid ));//微信公众号appid
 parameters.put( mchid , PropertyUtil.getInstance().getProperty( wx.mchid ));//关联的商户号
 parameters.put( nonce_str , StringUtil.getRandomString(16));任意标识符串16位
 parameters.put( partner_trade_no , RandomStringUtils.randomAlphanumeric(20));//商户定单号
 parameters.put( openid , openid);//客户open_id
 parameters.put( check_name ,  NO_CHECK //是不是对客户实名验证,NO_CHECK表明否。
 parameters.put( amount , value);//金额
 parameters.put( desc ,  红包 //叙述信息内容
 parameters.put( spbill_create_ip , PropertyUtil.getInstance().getProperty( wx.requestUrl ));//Ip详细地址,这个IP务必在微信公众号的白名单中,不然会不成功!!!
 return parameters;
}

//建立sign ,主要参数为UTF-8编号和上面的主要参数Map

public static String createSign(String characterEncoding, SortedMap String, Object  parameters) {
 StringBuffer sb = new StringBuffer();
 Set es = parameters.entrySet();
 Iterator it = es.iterator();
 while (it.hasNext()) {
 Map.Entry entry = (Map.Entry) it.next();
 String k = (String) entry.getKey();
 Object v = entry.getValue();
 if (null != v   ! .equals(v)   ! sign .equals(k)   ! key .equals(k)) {
 sb.append(k +  =  + v +  
 }
 }
 sb.append( key=  + PropertyUtil.getInstance().getProperty( wx.key ));
 String sign = Md5Util.md5Encode(sb.toString(), characterEncoding).toUpperCase();
 return sign;
}

将上面得到的sign放到Map中,param.put( sign , sign);

将Map变换为XML

public static String getRequestXml(SortedMap String, Object  param) {
 StringBuffer sb = new StringBuffer();
 sb.append( xml 
 Set es = parameters.entrySet();
 Iterator it = es.iterator();
 while (it.hasNext()) {
 Map.Entry entry = (Map.Entry) it.next();
 String k =   + entry.getKey();
 String v =   + entry.getValue();
 if ( attach .equalsIgnoreCase(k) ||  body .equalsIgnoreCase(k)) {
 sb.append(  + k +   +  ![CDATA[  + v +  ]] /  + k +  
 } else {
 sb.append(  + k +   + v +  /  + k +  
 }
 }
 sb.append( /xml 
 return sb.toString();
}

推送post恳求到mmpaymkttransfers/sendredpack,主要参数为上面的XML便可。

要完成上面的红包作用,最好也有个定时执行每日任务,能够把微信公众号的客户目录和客户数据信息即时新增到数据信息库中,以便依据唯一的union_id搜索对应的两个open_id.

附上同歩编码

&ess_token,ess_token每天限制获得2000次,ess_token都能够应用。

public String&essToken(){
 String tokenUrl = PropertyUtil.getInstance().getProperty( wx.tokenURL ) +
  ?appid=  + PropertyUtil.getInstance().getProperty( red.wx.appid ) +  secret=  +
 PropertyUtil.getInstance().getProperty( red.wx.appSecret ) +  grant_type=client_credential 
 JSONObject tokenResult = JSONObject.parseObject(HttpUtils.get(tokenUrl));
 if (tokenResult.getString( errmsg ) != null) {
&( 获得AccessToken不成功,请查验不成功缘故, {} , tokenResult.getString( errmsg ));
 return null;
 }
&( tokenResult= +tokenResult.toString());
 String access_token = tokenResult.getString( access_token 
 stringRedisTemplate.o凡科抠图ForValue().set(redisKey, access_token, 100*60, TimeUnit.SECONDS);
 return access_token;

  ?access_token=  + access_token +  next_openid=  + next_openid;
JSONObject userListResult = JSONObject.parseObject(HttpUtils.get(userListUrl))

得到open_id结合便可以再次获得客户详尽信息内容,能够独立还可以大批量,大批量数最多100个一次。

 if (list == null || list.size() == 0 || len   1) {
 return null;
 }
 List List String  result = new ArrayList List String ();
 int size = list.size();
 int count = (size + len - 1) / len;
 for (int i = 0; i   count; i++) {
 List String  subList = list.subList(i * len, ((i + 1) * len   size ? size : len * (i + 1)));
 result.add(subList);
 }
 return result;
}

好了,实际就这么多了,详尽的能够依据开发设计文本文档和本文参照对比进行。


---------

小程序制作平台模板

------------


联系我们

全国服务热线:4000-399-000 公司邮箱:343111187@qq.com

  工作日 9:00-18:00

关注我们

官网公众号

官网公众号

Copyright?2020 广州凡科互联网科技股份有限公司 版权所有 粤ICP备10235580号 客服热线 18720358503

技术支持:网站建设的论文