也不知道为啥,三四月份的时候,斗志很强,到了九十月份了就不太想奋发了,感觉整个人都没有太多精力,也不想学其他的了,特别是大数据学到spark sql,完全被整死了,安装这个那个,搞一个HBASE我就感觉不易,真的如果没有工作的原因,完全学不下去,所以国庆到现在,基本没有自学了。正好这半个月又在给一个系统调研新需求,每天基本都很充实,回家逗一逗闺女,今天就凑个时间出来,把十月做的一个微信扫一扫支付给大家看看,开发不易,从看微信公众号开发文档,到画自己理解的流程图,到动手然后借鉴网上很多开源的代码以及结合作为一个公共模块的使用。
好了,废话不多说,代码走起.。
微信扫码支付文档地址:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=6_1
这个都不看的朋友就别往下面看了。为了追求复杂,我自己写了个流程图:

其实这个是吓人的啦,太复杂,所以一般都是使用模式二去实现支付:
https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=6_5
接下来我就是要贴代码了,感觉不那么正宗,几十个类,贴代码出来那岂不是都不用看了,我贴最终的效果。然后把GitHub的地址发出来,大家一起来完善加强这个开源的模块。
GitHub:https://github.com/itliuxing/weixpay
本次微信支付模块主要实现的功能如下:
- 待扫一扫付款订单微信支付二维码生成
- 微信支付回调
- 微信支付订单查询
- 微信支付订单关闭
- 微信NATIVE支付
- 微信JSAPI支付 未能测试
- 二维码生成
访问此链接即生成二维码:
http://localhost:8080/weichat_p/qr
- 查询订单
生成二维码时,查询订单是需要用户传入订单号的,这个订单号在查询时必须传
- 关闭订单
生成二维码时,关闭订单也是是需要用户传入订单号的,这个订单号在关闭时必须传。
- 关闭后再查询此订单
在查询时即失效:
- 创建一个新订单支付后再查询此订单
- 配置文件
配置文件内有几项必改:
回调域名:
发起支付IP:
回调全地址:
其他的配置看着改。
- 整个开发文档目录
- 已测试通过
- 微信支付成功后回调
http://localhost:8080/weichat_n/notify
回调我们需要使用post方式接
- JSAPI支付
本次未使用,整合前面开发过的功能
- 微信公众号需要配置
微信支付回调的URL路径优先级:
最大优先级:支付生成的notify_url至微信平台的有优先权
低一点:配置到公众号平台的扫一扫回调地址
OK,看懂就可以了