# wxpay-java-demo **Repository Path**: brien/wxpay-java-demo ## Basic Information - **Project Name**: wxpay-java-demo - **Description**: 微信支付java sdk - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2021-06-02 - **Last Updated**: 2021-06-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #微信支付java DEMO ## 注意事项: 1. 该demo依赖`wxpay-java-sdk.jar` 2. 暂时只支持公众号支付 3. 微信回调的URL接口建议为https协议接口,该demo为了省事,使用了http协议接口,若想使用https协议,请使用者自行更改 4. 使用前请查看代码中的所有`TODO`注释,这是应该注意的地方 5. `appId`,`appSecret` 配置在`Constants`类中,其他配置在`wxpay.properties`文件中,使用者可以将其合并 6. java端使用springMVC + spring来处理请求,就是一个简单的web应用 7. demo前端入口使用微信网页授权的形式,用`code`换取`openid`,以满足下单接口规定,`JSAPI`方式调用,需传入`openid`作为必传参数 8. 前端网页采用weui的示例样式作为样式展现 ## webapp文件夹总览 1. css weui官方样式库以及example样式文件 2. js jquery.js 3. pages 所有分支接口的调用页面 4. index.html 总入口 ## java 源文件package总览 1. commom 公共包 - `Constants` 常量类 放置APPID APPSECRET 网页授权相关URL 以及accessToken 和 jsTicket对象 - `SystemInit` 系统初始化类 在spring容器初始化完成后,自动执行WXPay的初始化工作,读入配置文件,进行配置初始化工作 2. controller SpringMVC控制层 该包下面是各个API接口对前端提供的调用接口 3. listener 接口结果监听器包 - `ResultListener` 基础的结果监听器 实现了`BaseResultListener`接口,为了演示,只简单的打印了一句话。使用者应该根据业务逻辑为不同的接口实现自己结果监听器。 - `DownloadBillListener` 下载对账单专有的结果监听器 当然为了演示,也只打印了一句话。使用者请自行扩展。 4. model 实体类包 放了微信公众平台需要的一些类对象 - `AccessToken` 微信公众平台接口调用凭证 - `JSTicket` JSAPI调用凭证 - `WeixinOauth2Token` 微信网页授权的接口凭证 5. service 各个接口的服务层接口和实现类 6. util - `IPUtil` 提供获取IP地址的方法 - `JSSDKSign` jsapi接口调用签名工具类 - `JSTicket` 获取`accessToken` 进而获取 `jsTicket` 工具类 - `MyX509TrustManager` 证书信任管理器(用于调取微信公众平台接口的https请求) - `TestUtil` 本地测试工具类 提供本地测试的初始化WXPay方法 - `WeixinUtil` 微信工具类 提供获取与微信公众平台接口相关的工具类 ## resources 资源包总览 1. spring 放置spring相关的配置文件 - `spring-application.xml` spring的配置文件 - `spring-mvc.xml` springMVC的配置文件 2. `log4j-properties` log4j配置文件 3. `wxpay.properties` 微信支付的配置文件