文章开头先提一点,如果小程序可以开通企业支付接口,那推荐直接使用企业支付接口来实现红包的功能,小程序链接公众号通过公众号的红包接口来实现是非常坑爹的一件事。
微信企业支付接口:https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_1,使用这个接口需要开通支付权限。
本文说下如果联通小程序和公众号来实现发红包。
首先你需要一个公众号和小程序。在小程序中发送必须先关注公众号。这样你就可以使用公众号的红包接口给用户发送红包。
原理:
当小程序和公众号关联时,每一个用户在小程序和公众号共有一个union_id,但open_id是不同的,所以在需要发红包是首先获得小程序的open_id和union_id,根据union_id的唯一性获取公众号的open_id,再调用公众号的红包接口(https://api.mch.weixin.qq.com/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(