微信红包开发设计思路

1:前提有一个认证过的服务号

2:在微信公众平台-接口权限-网页账号-网页授权获取用户基本信息,配置授权回调域名。

请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加 http:// 等协议头;例如:www.qq.com

3:生成微信网页授权的链接或者二维码。

二维码方式可以解决授权链接不能在普通浏览器使用的问题,授权链接只能在微信浏览器打开。做成扫码的方式,就可以自动调用微信浏览器进行网页授权。

网页授权链接举例:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx0a9bad294c393efb&redirect_uri=http%3A%2F%2Fzd2456454497.vicp.cc%2Faccounts%2FgetOpenIdByCode.do%3FuserId%3D666%26userType%3D5&response_type=code&scope=snsapi_userinfo&state=2#wechat_redirect 

网页授权的接口为:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=XXX&redirect_uri=XXX&response_type=code&scope=snsapi_userinfo&state=2#wechat_redirect 

需要替换成自己公众好的appid,自己的授权回调地址,需要用urlencode对链接进行处理。
例如:

redirect_uri = URLEncoder.encode("http://zd2456454497.vicp.cc/accounts/getOpenIdByCode.do?userId=666&userType=5","UTF-8")

处理成:

http%3A%2F%2Fzd2456454497.vicp.cc%2Faccounts%2FgetOpenIdByCode.do%3FuserId%3D666%26userType%3D5

4:使用开源框架zxing将授权链接生成二维码。

5:扫码微信授权

扫描二维码,进行授权操作,回调redirect_uri,接受appid和code和自定义参数userId等参数。

{"code":"001aSVXE0wOkF723pxXE0MAYXE0aSVXA","nsukey":"+cDJuI3CldSyO9+MuhHdXxhApLT+S1aox0FE8Zt6+9A+A1jB9zR8ZAemahO/QfjRQnM9Af0NIMo8OSz9esaUgg\u003d\u003d","state":"2","userId":"666"}

应用后台通过code,appid,secret调用微信的接口获取openid

存储openid

6:给用户发红包

下发红包接口
public static String HONGBAO_SEND_URL="https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack";

组装发红包数据
SendRedPack redPack = new SendRedPack();
redPack.setAct_name("红包活动");            
redPack.setClient_ip(ip);                    
redPack.setMch_billno(DataConstants.Mch_id+currenttime+uuidsubstr);
redPack.setMch_id(DataConstants.Mch_id);//商户号
redPack.setNonce_str(UUID.randomUUID().toString().replaceAll("-", "").toUpperCase());
redPack.setRe_openid(openid);//用户的openid
redPack.setRemark("XX");
redPack.setSend_name("XX");
redPack.setTotal_amount((int)monery*100);//面值单位以分计算
redPack.setTotal_num(1); //红包数量
redPack.setWishing("XX"); //祝福语
redPack.setWxappid(DataConstants.Wxappid); //微信公众号应用id
Map<String, String> map=  sendRedPack(DataConstants.HONGBAO_SEND_URL,redPack);  

微信扫一扫,关注我的微信公众号,更多精彩文章等着你!

这里写图片描述

猜你喜欢

转载自blog.csdn.net/u013628152/article/details/52622252
今日推荐