对于大多数同学来说,要开发微信支付可不简单。附上微信支付官方文档https://pay.weixin.qq.com/wiki/doc/api/index.html
从文档上可以看出,你需要解决很多问题,我就随便挑几个吧。
- xml与对象的互转, 微信使用xml格式而不使用json通信, 也确实有点奇葩
- 签名,千万不要以为只是MD5一下,要是你自己开发,我敢说,你60%的时间都耗在签名调试这一块
以上是微信公众账号支付的时序图,简单概括为2个点。
- 下单,发起支付
- 接收异步通知,修改订单的支付状态
下单和修改支付状态是用户的业务系统干的事,我们来说说如何快速发起支付和接收异步通知
这是一款支付SDK,支付账号借用请往下看, best-pay-sdk, 项目主页 https://github.com/Pay-Group/best-pay-sdk,有了它你接入支付的代码只需要像下面一样
使用方法
//微信公众账号支付配置
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();
去掉注释和空行,刚好10行!更多使用,请访问https://github.com/Pay-Group/best-pay-sdk
热门评论
老师的点餐系统更新太慢了,一天就看了6章。
师兄 非常急的问题
这两个为什么报错呢?我看也没有声明跟定义的地方 怎么拿来直接用的?麻烦师兄帮忙看一下
不明觉厉,评论字数不能少于10个字!