背景
让使用微信支付的朋友最快速度接入微信支付.
核心
两行代码解决微信支付提供的各种服务, 开箱即用, 可扩展性超强(只需根据服务的上下行协议定义协议类后, 放入工厂即可获取调用结果).
最新发布
1 | <dependency> |
架构图
项目源代码
目前支持的服务及调用示例
所有服务在单元测试类(WXPayClientTest.java)中均已测试通过, 下行参数response.isSuccess == true表示服务调用成功.
支付举例
扫码支付
官方文档详见: https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_1
1 | String nonceStr = SDKUtils.genRandomStringByLength(32); |
初始化 sdk
1 | private WXPayClient wxPayClient; |
公众号支付
官方文档详见: https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_1
1 | String nonceStr = SDKUtils.genRandomStringByLength(32); |
APP支付
官方文档详见: https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_1
1 | String nonceStr = SDKUtils.genRandomStringByLength(32); |
商家支付
官方文档详见: https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_2
1 | String nonceStr = SDKUtils.genRandomStringByLength(32); |
退款
官方文档详见: https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_4&index=6
1 | String nonceStr = SDKUtils.genRandomStringByLength(32); |
支付异步通知解析
官方文档详见: https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_7
1 | String notifyTxt = "<xml>\n" + |
刷卡支付
官方文档详见: https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=9_10&index=1
目前未使用, 待续……
扩展
该SDK设计了一个服务工厂, 该工厂中包含HTTP执行器/返回数据解析方式(json/xml)/入参数据格式(json/xml)构造等, 开发人员需要增加服务仅需要根据服务协议文档编写上下行协议, 并在协议中指明API接口和返回数据类型, 再将上行协议放入工厂中执行即可; 可参考已完成的服务协议进行扩展编写.
本文出处: http://www.arccode.net/wechat-pay-sdk-out-of-the-box.html