微信支付 Java SDK
------
2018最新最全微信支付集成SDK,一行代码调用微信支付,更多丰富接口注释和例子,包含基础支付功能(网页授权、各种签名、统一下单、退款、对账单、用户信息获取)、验收用例指引(沙箱支付、支付验收、免充值产品开通)、商户平台(现金红包、企业付款到用户、代金券或立减优惠)、公众平台(微信卡券、社交立减金活动)、小程序(生成永久二维码、发送模版消息)等等功能。
本项目依托于 [微信支付开发者文档](https://pay.weixin.qq.com/wiki/doc/api/index.html),对文档中的接口进行二次封装,从而为小伙伴们提供一个`拿来即用`的支付sdk工具。
相关的sdk文档已经更新,请进入以下地址查看:
文档地址:https://yclimb.gitbook.io/wxpay
gitbook:https://github.com/YClimb/wxpay-gitbook
## 项目结构
首先需要简单说明整个 `wxpay-sdk` 的项目结构,主体结构如下所示:
- wxpay-sdk
- src
- main
- java
- com.weixin.pay
- card // 微信卡券
- constants // 常量文件
- redis // redis工具类
- util // 支付工具类(支付、签名、加密解密)
- xxx class // 支付实体类,基础配置信息
- test
- controller
- xxx class // 测试的相关类
- .gitignore
- pom.xml // 引用包
- README.md
提供微信支付的基础功能,脱胎于微信官方Java-SDK,进行二次封装后,提供一系列的方法;
基础方法主要在 `com.weixin.pay.WXPay` 、 `com.weixin.pay.util.WXUtils`类下,此项目包含的微信支付功能主要分为以下几个部分,这里列举一些主要功能,具体的详细功能查询作者gitbook或者公众号查看。
### 1. 基础支付功能
`com.weixin.pay.WXPay` :
|方法名 | 说明 |
|--------|--------|
|microPay| 刷卡支付 |
|unifiedOrder | 统一下单|
|chooseWXPayMap | 微信支付二次签名|
|orderQuery | 查询订单 |
|reverse | 撤销订单 |
|closeOrder|关闭订单|
|refund|申请退款|
|refundQuery|查询退款|
|downloadBill|下载对账单|
|report|交易保障|
|shortUrl|转换短链接|
|authCodeToOpenid|授权码查询openid|
### 2. 验收用例
支付验收指引:`https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=23_1`
`controller.TestWXPay` :
|方法名 | 说明 |
|--------|--------|
|unifiedOrder | 统一下单|
|orderQuery | 查询订单 |
|reverse | 撤销订单 |
|closeOrder|关闭订单|
|refund|申请退款|
|refundQuery|查询退款|
### 3. 商户平台-现金红包
`com.weixin.pay.WXPay` :
|方法名 | 说明 |
|--------|--------|
|sendRedPack| 企业向指定微信用户的openid发放指定金额红包 |
|getRedPackInfo| 查询红包记录 |
### 4. 商户平台-代金券或立减优惠
`com.weixin.pay.WXPay` :
|方法名 | 说明 |
|--------|--------|
|sendCoupon| 发放代金券 |
|queryCouponsInfo| 查询代金券信息 |
|queryCouponStock| 查询代金券批次 |
### 5. 公众平台-微信卡券
`com.weixin.pay.util.WXUtils` :
|方法名 | 说明 |
|--------|--------|
|getAccessToken| 获取微信全局accessToken |
|getJsapiAccessTokenByCode| 网页授权获取用户信息时用于获取access_token以及openid |
|getJsapiUserinfo| 通过access_token和openid请求获取用户信息 |
|getWxCardApiTicket| 获取卡券 api_ticket 的 api |
|getWxApiTicket| 获取卡券 api_ticket 的 api |
### 6. 公众平台-社交立减金活动
`com.weixin.pay.util.WXUtils` :
|方法名 | 说明 |
|--------|--------|
|getCardList| 根据代金券批次ID得到组合的cardList |
|createCardActivity| 创建支付后领取立减金活动接口 |
### 7. 小程序
`com.weixin.pay.util.WXUtils` :
|方法名 | 说明 |
|--------|--------|
|getMiniBaseUserInfo| 获取小程序静默登录返回信息 |
|getWxMiniQRImg| 生成带参数的小程序二维码[] |
## 微信支付调用示例
具体示例及文章可以查看作者的sdk文档,地址如下:
文档地址:https://yclimb.gitbook.io/wxpay
或者在本文末扫码关注作者微信公众号,加作者微信&加入讨论群与大家一起讨论。
`微信公众号网页授权` :
```$xslt
https://yclimb.gitbook.io/wxpay/pay/authorize
```
`统一下单接口` :
```$xslt
public Map<String, String> saveWxPayUnifiedOrder(Payment payment, User user) throws Exception {
if (payment == null) {
return null;
}
if (user == null) {
return null;
}
// 1.调用微信统一下单接口
WXPay wxPay = new WXPay(WXPayConfigImpl.getInstance());
Map<String, String> resultMap = wxPay.unifiedOrder(...);
// 1.1.记录付款流水
...
// 下单失败,进行处理
if (WXPayConstants.FAIL.equals(resultMap.get(WXPayConstants.RETURN_CODE)) ||
WXPayConstants.FAIL.equals(resultMap.get(WXPayConstants.RESULT_CODE))) {
// 处理结果返回,无需继续执行
resultMap.put(WXPayConstants.RESULT_CODE, WXPayConstants.FAIL);
resultMap.put(WXPayConstants.ERR_CODE_DES, resultMap.get(WXPayConstants.RETURN_MSG));
return resultMap;
}
// 1.2.获取prepay_id、nonce_str
String prepay_id = resultMap.get("prepay_id");
String nonce_str = resultMap.get("nonce_str");
// 2.根据微信统一下单接口返回数据组装微信支付参数,返回结果
return wxPay.chooseWXPayMap(prepay_id, nonce_str);
}
```
`支付结果通知` :
```$xslt
https://yclimb.gitbook.io/wxpay/pay/wxnotify
```
`查询订单和关闭订单` :
```$xslt
https://yclimb.gitbook.io/wxpay/pay/orderquery
```
`申请退款、退款回调接口、查询退款` :
```$xslt
https://yclimb.gitbook.io/wxpay/refund/refund
```
基础调用方式如上所述,统一返回值为 `Map<String, String>`,详细信息见实体类,文档会实时更新,尽情期待!!!
关注作者微信公众号,点击下方`讨论群`,扫码即可加入`微信支付讨论群`与小伙伴一起探讨哦~
---
![关注我的公众号](https://img-blog.csdn.net/20180130111432962?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvWUNsaW1i/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
---
## License
BSD
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
wxpay-sdk-master.rar (28个子文件)
wxpay-sdk-master
src
main
test
controller
WXAuthController.java 4KB
WXPayController.java 15KB
TestWXPay.java 12KB
java
com
weixin
pay
constants
WXConstants.java 1KB
WXPayCodeEnum.java 640B
WXPayConstants.java 11KB
WXURL.java 5KB
WXPayDomainSimpleImpl.java 4KB
redis
RedisKeyEnum.java 2KB
RedisKeyUtil.java 3KB
XxxWXPayConfigImpl.java 2KB
util
WXUtils.java 25KB
WXUserUtil.java 948B
WXPayXmlUtil.java 2KB
AESUtil.java 4KB
WXPayUtil.java 13KB
DateTimeUtil.java 6KB
WXSignatureUtil.java 7KB
WXPayReport.java 11KB
WXPay.java 63KB
WXPayRequest.java 10KB
WXPayDomain.java 1KB
WXPayConfig.java 2KB
card
CardBgColorEnum.java 1KB
WXPayConfigImpl.java 2KB
README.md 7KB
pom.xml 5KB
.gitignore 278B
共 28 条
- 1
资源评论
- f_lash2019-04-04代码挺多,不过是Java的代码,我是想找js小程序支付代码。
weixin_41103806
- 粉丝: 5
- 资源: 20
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 自学文档,用于自己学习
- asp代码ASP考试成绩分析系统的设计与实现(源代码+论文)
- openssh-9.7p1-1.ky10.aarch64-no-ssh-copy-id.tgz
- asp代码ASP具有动态口令认证机制的网上投票系统的设计(源代码+论文)
- asp代码ASP局域网文件共享及检索系统的设计与开发(源代码+论文)
- asp代码ASP酒店预定管理系统设计(论文+源代码+开题报告)
- javaweb毕业设计-学生住宿管理系统JAVA(可做课程设计).rar
- asp代码ASP教师信息管理系统设计(源代码+论文)
- c语言链表的基本操作实现
- python冒泡排序(Bubble Sort).docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功