微信开发 Java SDK,支持微信支付、开放平台、公众号、视频号、企业微信、小程序等的后端开发,记得关注公众号及时接受版本更新信息,以及加入微信群进行深入讨论
Go to file
Binary Wang d2f5adcb40
合并develop分支,发布最新正式版
* art:证书类配置读取优化调整

* new:电商收付通二级商户进件

* art:微信服务商配置优化

* new:jsapi合单支付

* new:合单支付

* 🎨 #1733 微信支付服务商配置优化,增加服务商合单支付接口

* art:微信服务商配置优化

* new:jsapi合单支付

* new:合单支付

Co-authored-by: 曾浩 <epdcgsi@dingtalk.com>

* 🎨 优化代码

* 🎨 优化重构并统一公众号和小程序的spring boot starter部分配置类和属性

* 🎨 优化企业微信消息发送接口代码,引入moco模拟测试组件,方便测试代码

* 🎨 #1722 企业微信增加互联企业发送应用消息的接口,并重构消息相关类的包结构

* 🎨 优化代码,使用java8自带的Base64类

* 🐛 #1738 修复企业微信创建用户接口自定义字段缺失的问题

* 🎨 升级依赖的Spring Boot版本为最新,并优化部分代码

* 🔖  发布 3.9.1.B 测试版本

* 🎨 #1743 企业微信获取客户群详情接口增加unionId属性

获取客户群详情对象中 增加 unionId属性

* new:电商收付通普通支付

* 🆕 #1744 微信支付增加电商收付通-普通支付相关接口

* new:电商收付通普通支付

Co-authored-by: 曾浩 <epdcgsi@dingtalk.com>

* new:电商收付通支付回调处理

* new:电商收付通支付回调处理

* 🆕 #1749 微信支付增加电商收付通支付回调处理相关方法


* new:电商收付通支付回调处理

Co-authored-by: 曾浩 <epdcgsi@dingtalk.com>

* 🎨 #1752 微信支付电商收付通二级商户进件时店铺信息增加小程序appid字段

* 🎨 优化部分代码

* 电商收付通支付调整

* 🎨 电商收付通支付接口调整

经测试小程序支付时不能使用服务商的appId签名,故增加方法返回微信接口返回的结果。

* 🎨 #1756 解决wx-java-open-spring-boot-starter中Redisson实现缺少database设置的问题

* 🎨 #1753 小程序直播部分接口代码优化重构,对照官方文档补充新增参数

* 🎨 #1747 微信支付分回调通知对象类增加缺失参数:回调摘要summary

* 🆕 #1758 微信支付增加电商收付通服务商和二级商户余额查询接口

* 🆕 #1759 微信支付增加电商收付通请求分账接口

* 增加微信收付通请求分账接口

* 🆕 #1723 企业微信增加查询应用消息发送统计的接口

* 🔖 发布 3.9.2.B 测试版本

* 🆕 #1764 微信支付电商收付通增加请求分账回退接口

* 🐛 #1766 修复电商收付通请求分账结果类未添加相关注解的问题

* 微信收付通增加请求分账回退接口

* 修复请求分账结果未添加lombok注解

* fix:电商收付通回调通知测试

* 🆕 #1768 微信支付增加电商收付通完结分账和退款接口

* 微信收付通增加完结分账和退款接口

* 🆕 #1767 企业微信外部联系人增加修改客户备注信息的接口

* 🎨 优化部分代码

* 🎨 #1646 企业微信第三方应用(服务商)模块重构实现,并提供Router、Interceptor、Handler等接口

* 🎨 #1755 完善补充第三方平台小程序相关的部分错误码

* 🎨 优化企业微信群机器人发送消息的相关接口,提供无需提前设置webhookKey即可使用的重构方法

* 🆕 #1675 企业微信增加创建日历的接口,以及相关回调事件消息通知的支持

* 🔖 发布 3.9.3.B 测试版本

* new:电商收付通合单支付、普通支付查询

* new:电商收付通商户、平台提现

* fix:命名统一调整

* 🆕  #1772 电商收付通增加支付结果查询和提现的接口

* new:分账查询、退款通知

* new:修改结算账户、退款查询

* 🆕 #1775 微信支付电商收付通增加修改二级商户结算账户和退款查询的接口

* 🐛 #1777 XML工具类修复无法解析<ExtAttr><Item>这种节点数据的问题

* 🎨 WxMpMessageRouter增加构造方法

* 🎨 升级依赖jodd-http版本,并修复不兼容代码

* 🎨 优化GraalProcessor代码

* #1782 微信支付修复分账回退查询接口签名错误的问题

Co-authored-by: lmh <lmh@weiyian.com>

* 🆕 #1774 企业微信增加系统审批事件推送的事件常量

* 🎨 优化代码

* 🎨 #1785 公众号 spring boot starter 模块增加接口自定义主机地址和redis sentinel的配置

* 🔖  发布 3.9.4.B 测试版本

* fix:字段错误

* 🆕 #1789 微信支付电商收付通增加下载账单的接口

* 🆕 #1793 企业微信添加应用管理的设置工作台自定义展示模块 

Co-authored-by: sysong <sysong@chutianyun.gov.cn>

* 🎨 优化公众号Spring Boot Starter的redisTemplate注入等代码

* 🎨 优化代码,提供toString方法,避免某些情况下出现的问题

* 🆕 #1675 企业微信增加更新、查询和删除日历的接口

* 🆕 #1686 微信公众号增加对话能力(原导购助手)部分接口,如添加顾问、获取顾问信息等

* 🆕 #1686 微信公众号增加对话能力(原导购助手)部分接口,如修改顾问、删除顾问、获取顾问列表等

* 🎨 #1797 企业微信配置客户联系「联系我」方式接口返回增加二维码链接字段

新增联系我二维码链接,仅在scene为2时返回

* 🎨 优化部分代码,重构OAuth2网页授权、网页登录等相关接口,方便接入open模块

* 🐛  修复字段错误

Co-authored-by: 曾浩 <epdcgsi@dingtalk.com>

* 🆕 #1725 微信支付分增加免确认模式(预授权方式)相关接口支持

* 🆕 #1806 开放平台增加第三方平台代公众号实现复用公众号资料快速创建小程序的接口

* 🆕 微信开发平台模块增加OAuth2相关接口(网页授权、网页登录等)的实现

* 🎨 优化部分代码,明确出错信息

* 🔖 发布 3.9.5.B 测试版本

* 🆕 #1817 企业微信增加批量获取外部联系人详情的接口,同时修复外部联系人中listGroupChat参数失效问题

* 🎨 优化代码,实现序列化接口

* 🎨 #1820 优化更新getTicket方法,调整锁调用时机避免并发问题

* Fix:调整获取相关票据的锁处理时机

* Fix:更新票据,锁之后,再次检查是否有效,避免并发同时进入多次重置票据

Co-authored-by: weiwei.xing <weiwei.xing@nplusgroup.com>

* Update CONTRIBUTING.md

* 🆕 #1814 微信支付解析扫码支付回调通知增加签名类型的重载方法

* 🔖 发布 3.9.6.B 测试版本

* 🎨 重构部分包结构

* 🎨 #1827 微信支付分相关接口优化

1. 将原有请求模型类中一些基础数据类型改为对应的包装类,因为在用户没有显式set的情况下,这些基础数据类型序列化为json时也会以默认值的形式作为参数传到微信端,造成微信端返回错误。
2. 微信支付分相关的回调数据处理方法加上签名验证。
3. 增加方法授权/解除授权服务回调数据处理

* 🎨 #1832 微信支付电商收付通增加查询提现状态的接口

* 🐛 #1824 微信支付修复分账回退接口结果错误码解析错误的问题

* 🎨 #1834 微信会员卡基本信息类增加缺少字段 use_limit

* 🐛 #1828 修复企业微信第三方应用消息路由相关方法参数错误的问题

* 🆕 #1831 生成小程序二维码的相关接口增加指定文件路径参数的重载方法

* 🔖 发布 3.9.7.B 测试版本

* 🎨 #1848 刷卡支付接口响应结果类增加服务商调用时的返回字段

* 🎨 增加点注释

* 🎨 #1849 企业微信外部联系人相关接口重构,优化重复代码,同时获取客户详情接口返回增加标签id字段

* 🎨 Update javadoc for WxMaQrcodeService.java

* 🐛 #1852 修复个性化菜单clientPlatformType字段的反序列化问题

* 🎨 补充完善单元测试

* 🐛 #1856 【微信支付】修复电商收付通查询退款状态的接口地址

* 🎨 #1857 【企业微信】获取获取部门成员详情接口返回值增加第三方应用专有的open_userid字段

* 🔖 发布 3.9.8.B 测试版本

* 🎨 修复out_trade_no 字段命名不规范问题

Co-authored-by: vcpgfw <zhaopf@xtkg.com>

* 📝  add more cases

* 🐛 #1861【微信支付】支付分后付费项目请求类的amount属性改为Integer,允许为空

* 🐛 #1864 【微信支付】WxPayConfig类的hashCode和equals方法移除 verifier 字段

* 🆕 #1863 【小程序】增加删除直播间、编辑直播间、获取直播间推流地址、获取直播间分享二维码等接口

* 🎨 #1867【企业微信】优化完善第三方应用的接入代码

* 🆕 #1869 【小程序】增加管理直播间小助手的相关接口

* 🆕 #1868 【微信支付】增加通用上传图片接口,支持传入流和文件名参数

* 🎨 优化代码,部分类增加序列化接口实现

* 🎨 增加点单元测试示例代码

* 🔖 发布 3.9.9.B 测试版本

* ⬆️ 升级xstream版本

* ⬆️ Bump xstream

Bumps [xstream](https://github.com/x-stream/xstream) from 1.4.10-java7 to 1.4.13-java7.
- [Release notes](https://github.com/x-stream/xstream/releases)
- [Commits](https://github.com/x-stream/xstream/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* 🆕 #1873 【企业微信】第三方应用增加网页授权登陆获取访问用户身份和获取访问用户敏感信息的接口

* 🐛 修复字段错误问题

* 🐛 #1883【公众号】修复卡券导入code接口错误的返回类型

* 🎨 规范变量名

* 🆕  #1885 【微信支付】电商收付通增加资金账单下载的接口

* 🆕 #1866 【小程序】 增加提审素材上传接口请求执行器

* 🎨 重构规范小程序部分代码包结构

* 🎨 #1888【企业微信】补充完善OA审批回调事件消息部分字段缺失的问题

* 🆕 #1746: 【企业微信】第三方应用增加授权配置接口,同时增加向员工付款的接口

* 🎨 #1886 【小程序】创建直播间接口增加二维码地址字段

* 🔖 发布 4.0.0 正式版本

Co-authored-by: 曾浩 <epdcgsi@dingtalk.com>
Co-authored-by: cloudX <epdcgsi@163.com>
Co-authored-by: Boris <borisbao@users.noreply.github.com>
Co-authored-by: f00lish <f00lish@qq.com>
Co-authored-by: TomLiu <tomliuchangsha@hotmail.com>
Co-authored-by: giveme0101 <xiajun94@qq.com>
Co-authored-by: lmh <991564110@qq.com>
Co-authored-by: lmh <lmh@weiyian.com>
Co-authored-by: Dream2Land <346570926@qq.com>
Co-authored-by: amhere <songshiyu555@163.com>
Co-authored-by: sysong <sysong@chutianyun.gov.cn>
Co-authored-by: 静宏 <acvrock.cn@gmail.com>
Co-authored-by: spvycf <545997765@qq.com>
Co-authored-by: alucardxh <alucardxh@163.com>
Co-authored-by: jn老A <sytu_xww@163.com>
Co-authored-by: weiwei.xing <weiwei.xing@nplusgroup.com>
Co-authored-by: winter <winter4666@foxmail.com>
Co-authored-by: gentryhuang <gentryhuang.xw@gmail.com>
Co-authored-by: Kidwind <Kidwind@gmail.com>
Co-authored-by: zacks <zacksleo@gmail.com>
Co-authored-by: wcc1433 <37837522+wcc1433@users.noreply.github.com>
Co-authored-by: Pancras <coder.zpf@gmail.com>
Co-authored-by: vcpgfw <zhaopf@xtkg.com>
Co-authored-by: JoeWoo <xjoewoo@gmail.com>
Co-authored-by: 微同科技 <30375770+lipengjun92@users.noreply.github.com>
Co-authored-by: xworks <jzqlin@gmail.com>
Co-authored-by: GaoMinzhu <31923767+GaoMinzhu@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: huangxm129 <40385667+huangxm129@users.noreply.github.com>
Co-authored-by: ly8388 <49558207+ly8388@users.noreply.github.com>
Co-authored-by: yangyh22 <9944784+yangyh22@users.noreply.github.com>
Co-authored-by: Gyv12345 <gyv12345@163.com>
Co-authored-by: LinXiaoHuChong <louisquiet@gmail.com>
2020-11-29 23:54:57 +08:00
.gitee 📝 更新ISSUE_TEMPLATE 2019-08-13 09:16:11 +08:00
.github 📝 修订说明 2019-08-21 18:37:14 +08:00
images 🎨 Optimize images (#1279) 2019-11-14 10:23:09 +08:00
others 合并develop分支,发布最新正式版 2020-11-29 23:54:57 +08:00
quality-checks 🎨 规范化部分代码格式 2019-08-21 11:59:54 +08:00
spring-boot-starters 合并develop分支,发布最新正式版 2020-11-29 23:54:57 +08:00
weixin-graal 合并develop分支,发布最新正式版 2020-11-29 23:54:57 +08:00
weixin-java-cloudbase 📝 update cloudbase homepage url 2020-03-18 14:54:41 +08:00
weixin-java-common 合并develop分支,发布最新正式版 2020-11-29 23:54:57 +08:00
weixin-java-cp 合并develop分支,发布最新正式版 2020-11-29 23:54:57 +08:00
weixin-java-miniapp 合并develop分支,发布最新正式版 2020-11-29 23:54:57 +08:00
weixin-java-mp 合并develop分支,发布最新正式版 2020-11-29 23:54:57 +08:00
weixin-java-open 合并develop分支,发布最新正式版 2020-11-29 23:54:57 +08:00
weixin-java-pay 合并develop分支,发布最新正式版 2020-11-29 23:54:57 +08:00
.editorconfig 🔧 update editorconfig 2019-08-10 20:29:13 +08:00
.gitignore 合并develop分支,发布最新正式版 2020-11-29 23:54:57 +08:00
.travis.yml 💚 update travis.yml 2019-08-10 20:30:30 +08:00
CONTRIBUTING.md 合并develop分支,发布最新正式版 2020-11-29 23:54:57 +08:00
demo.md Update demo.md 2020-09-07 11:46:24 +08:00
LICENSE 🔧 update license file 2019-08-10 20:28:10 +08:00
pom.xml 合并develop分支,发布最新正式版 2020-11-29 23:54:57 +08:00
README.md 合并develop分支,发布最新正式版 2020-11-29 23:54:57 +08:00

码云Gitee Github GitHub release Maven Central Build Status 使用IntelliJ IDEA开发维护 License

支持包括微信支付、开放平台、公众号、企业微信/企业号、小程序等微信功能的后端开发。

重要信息

  1. 2020-08-24 发布 【3.9.0正式版】
  2. 新手重要提示本项目仅是一个SDK开发工具包未提供Web实现建议使用 mavengradle 引用本项目即可使用本SDK提供的各种功能详情可参考 【Demo项目】 或本项目中的部分单元测试代码;另外微信开发新手请务必阅读【开发文档 Wiki 首页】的常见问题部分,可以少走很多弯路,节省不少时间。
  3. 技术交流群想获得QQ群/微信群/钉钉企业群等信息的同学,请使用微信扫描上面的微信公众号二维码关注 WxJava 后点击相关菜单即可获取加入方式,同时也可以在微信中搜索 weixin-java-toolsWxJava 后选择正确的公众号进行关注该公众号会及时通知SDK相关更新信息并不定期分享微信Java开发相关技术知识
  4. 付费QQ群注意刚入群会有5分钟禁言稍等片刻即可正常发言 加入QQ群加入QQ群,或者请自行搜索群号343954419进行添加;当然由于某种原因无法入群的,可关注公众号后获取其他群的加入方式;
  5. 钉钉技术交流群: 30294972(技术交流群),35724728通知群实时通知Github项目变更记录
  6. 微信开发新手或者Java开发新手在群内提问或新开Issue提问前请先阅读【提问的智慧】,并确保已查阅过 【开发文档Wiki】 ,避免浪费大家的宝贵时间;
  7. 寻求帮助时需贴代码或大长串异常信息的,请利用 http://paste.ubuntu.com

其他说明

  1. 阅读源码的同学请注意本SDK为简化代码编译时加入了lombok支持,如果不了解lombok的话,请先学习下相关知识,比如可以阅读此文章
  2. 如有新功能需求发现BUG或者由于微信官方接口调整导致的代码问题可以直接在【Issues】页提出issue便于讨论追踪问题
  3. 如果需要贡献代码请务必在提交PR之前先仔细阅读【代码贡献指南】,谢谢理解配合;
  4. 目前本SDK最新版本要求的JDK最低版本是8,使用7的同学可以使用WxJava 3.8.0及以前版本,而还在使用JDK6的用户请参考【此项目】 而其他更早的JDK版本则需要自己改造实现。
  5. 本项目在开源中国的页面,欢迎大家积极留言评分 🙂
  6. SDK开发文档请查阅 【开发文档Wiki】,部分文档可能未能及时更新,如有发现,可以及时上报或者自行修改。
  7. 如果本开发工具包对您有所帮助,欢迎对我们的努力进行肯定,可以直接前往【托管于码云的项目首页】,在页尾部分找到“捐助”按钮进行打赏,多多益善 😄。非常感谢各位打赏和捐助的同学!
  8. 各个模块的Javadoc可以在线查看weixin-java-miniappweixin-java-payweixin-java-mpweixin-java-commonweixin-java-cpweixin-java-open
  9. 本SDK项目在以下代码托管网站同步更新:

Maven 引用方式

注意:最新版本(包括测试版)为 Maven Central,以下为最新正式版。

<dependency>
  <groupId>com.github.binarywang</groupId>
  <artifactId>(不同模块参考下文)</artifactId>
  <version>3.9.0</version>
</dependency>
  • 微信小程序:weixin-java-miniapp
  • 微信支付:weixin-java-pay
  • 微信开放平台:weixin-java-open
  • 公众号(包括订阅号和服务号):weixin-java-mp
  • 企业号/企业微信:weixin-java-cp

版本说明

点此展开查看
  1. 本项目定为大约每两个月发布一次正式版(同时 develop 分支代码合并进入 master 分支),版本号格式为 X.X.0(如2.1.02.2.0遇到重大问题需修复会及时提交新版本欢迎大家随时提交Pull Request
  2. BUG修复和新特性一般会先发布成小版本作为临时测试版本3.6.8.B即尾号不为0并添加B以区别于正式版代码仅存在于 develop 分支中;
  3. 目前最新版本号为 Maven Central ,也可以通过访问链接 【微信支付】【微信小程序】【公众号】【企业微信】【开放平台】 分别查看所有最新的版本。

使用案例

完整案例登记列表,请【访问这里】查看,欢迎登记更多的案例。

以下为部分案例列表:

开源项目:

小程序:

  • (京东)友家铺子,友家铺子店长版,京粉精选
  • 喵星人贴吧助手(扫码关注)
  • 树懒揽书+
  • 广廉快线,鹏城巴士等
  • 当燃挑战、sportlight轻灵运动
  • 360考试宝典
  • 民医台
  • 来一团商家版
  • 史必达(史丹利)
  • 嘀嗒云印
  • 维沃吼吼
  • 王朝社区(比亚迪新能源社区)
  • 极吼吼手机上门回收换新
  • 未来信封

公众号:

  • 中国电信上海网厅sh_189
  • E答平台
  • 宁夏生鲜365
  • 通服货滴
  • 神龙养车
  • 沃音乐商务智能
  • 光环云社群
  • 手机排队
  • 全民约跑健身便利店
  • 民医台
  • YshopMall
  • 好行景区直通车以及全国40多个公众号
  • 我奥篮球公众号
  • 未来信封官微

企业号/企业微信:

  • HTC企业微信
  • 掌上史丹利

其他:

  • 高善人力资源
  • 小猪餐餐
  • 餐饮系统
  • 微信公众号管理系统:http://demo.joolun.com
  • 锐捷网络Saleslink

贡献者列表

特别感谢参与贡献的所有同学,所有贡献者列表请在此处查看,欢迎大家继续踊跃贡献代码!

点击此处展开查看贡献次数最多的几位同学
  1. chanjarster (Daniel Qian)
  2. binarywang (Binary Wang)
  3. 007gzs
  4. Silloy
  5. mgcnrx11
  6. yuanqixun
  7. kakotor
  8. aimilin6688 (Jonk)
  9. lkqm (Mario Luo)
  10. kareanyi (MillerLin)

GitHub Stargazers over time

Stargazers over time