weixin4j/weixin4j-mp
2015-05-30 20:43:15 +08:00
..
2015-05-30 20:35:54 +08:00
2014-12-10 16:29:18 +08:00
2015-05-24 00:03:22 +08:00
2015-05-30 20:43:15 +08:00

weixin4j-mp

微信公众平台开发工具包

功能列表

  • MediaApi 媒体素材API

  • NotifyApi 客服消息API

  • CustomApi 多客服API

  • MassApi 群发消息API

  • UserApi 用户管理API

  • GroupApi 分组管理API

  • MenuApi 底部菜单API

  • QrApi 二维码API

  • TmplApi 模板消息API

  • HelperApi 辅助API

  • Pay2Api V2支付API

  • Pay3Api V3支付API

  • CouponApi 代金券API

  • DataApi 数据统计API

  • OauthApi oauth授权API

  • CashApi 现金API

如何使用

0.maven依赖(1.4,2015-05-16 released)

<dependency>
    <groupId>com.foxinmy</groupId>
    <artifactId>weixin4j-mp</artifactId>
    <version>1.4</version>
</dependency>

1.需新增或拷贝weixin.properties文件到项目的classpath

weixin.properties说明

属性名 说明
account 微信公众号信息 json格式
token_path 使用FileTokenHolder时token保存的物理路径
qr_path 调用二维码接口时保存二维码图片的物理路径
media_path 调用媒体接口时保存媒体文件的物理路径
bill_path 调用下载对账单接口保存excel文件的物理路径
ca_file 调用某些接口(支付相关)强制需要auth的ca授权文件
redirect_uri 调用OauthApi接口时需要填写的重定向路径

示例(properties中换行用右斜杆\)

account={"id":"appId","secret":"appSecret",\
	"token":"开放者的token",\
	"encodingAesKey":"公众号设置了加密方式且为「安全模式」时需要填入",\
	"mchId":"V3.x版本下的微信商户号",\
	"partnerId":"V2版本下的财付通的商户号",\
	"partnerKey":"V2版本下的财付通商户权限密钥Key",\
	"version":"针对微信支付的版本号(2,3),如果不填则按照mchId非空与否来判断",\
	"paySignKey":"微信支付中调用API的密钥"}

token_path=/tmp/weixin/token
qr_path=/tmp/weixin/qr
media_path=/tmp/weixin/media
bill_path=/tmp/weixin/bill
# ca证书存放的完整路径 (V2版本后缀为*.pfx,V3版本后缀为*.p12)
ca_file=/tmp/weixin/xxxxx.p12
#classpath路径下:ca_file=classpath:xxxxx.p12

#微信登陆授权的重定向路径(使用OauthApi时需要填写)
redirect_uri=http://xxx

2.实例化一个WeixinProxy对象,调用API,需要强调的是如果只传入appid,appsecret两个参数将无法调用支付相关接口

WeixinProxy weixinProxy = new WeixinProxy();
// weixinProxy = new WeixinProxy(appid,appsecret);
// weixinProxy = new WeixinProxy(weixinAccount);
weixinProxy.getUser(openId);

针对token存储有两种方案,File存储/Redis存储,当然也可自己实现TokenHolder,默认使用文件(xml)的方式保存token,如果环境中支持redis,建议使用(RedisTokenHolder)[https://github.com/foxinmy/weixin4j/wiki/%E7%94%A8redis%E4%BF%9D%E5%AD%98token].

WeixinProxy weixinProxy = new WeixinProxy(new RedisTokenHolder());

// weixinProxy = new WeixinProxy(new RedisTokenHolder(weixinAccount));

更新LOG