10行代码搞定微信支付(Java版)

微信支付痛点

对于大多数同学来说,要开发微信支付可不简单。
附上微信支付官方文档https://pay.weixin.qq.com/wiki/doc/api/index.html
从文档上可以看出,你需要解决很多问题,我就随便挑几个吧。

xml与对象的互转: 微信使用xml格式而不使用json通信, 也确实有点奇葩
签名:千万不要以为只是MD5一下,要是你自己开发,我敢说,你60%的时间都耗在签名调试这一块


以上是微信公众账号支付的时序图,简单概括为2个点。
下单,发起支付
接收异步通知,修改订单的支付状态

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//微信公众账号支付配置 
WxPayH5Config wxPayH5Config = new WxPayH5Config();
wxPayH5Config.setAppId("xxxxx");
wxPayH5Config.setAppSecret("xxxxxxxx");
wxPayH5Config.setMchId("xxxxxx");
wxPayH5Config.setMchKey("xxxxxxx");
wxPayH5Config.setNotifyUrl("http://xxxxx");

//支付类, 所有方法都在这个类里
BestPayServiceImpl bestPayService = new BestPayServiceImpl();
bestPayService.setWxPayH5Config(wxPayH5Config);

//发起支付
bestPayService.pay();

//异步回调
bestPayService.asyncNotify();
`

下单和修改支付状态是用户的业务系统干的事,我们来说说如何快速发起支付和接收异步通知
可能是目前最好的支付SDK
这是一款支付SDK,支付账号借用请往下看, best-pay-sdk
项目主页 https://github.com/Pay-Group/best-pay-sdk
有了它你接入支付的代码只需要像上面一样使用方法
去掉注释和空行,刚好10行!更多使用,请访问https://github.com/Pay-Group/best-pay-sdk

-------------本文结束感谢您的阅读-------------