10行代码搞定微信支付(Java版)
微信支付痛点
对于大多数同学来说,要开发微信支付可不简单。附上微信支付官方文档https://pay.weixin.qq.com/wiki/doc/api/index.html
从文档上可以看出,你需要解决很多问题,我就随便挑几个吧。
xml与对象的互转, 微信使用xml格式而不使用json通信, 也确实有点奇葩
签名,千万不要以为只是MD5一下,要是你自己开发,我敢说,你60%的时间都耗在签名调试这一块
微信支付到底需要做什么
以上是微信公众账号支付的时序图,简单概括为2个点。
下单,发起支付
接收异步通知,修改订单的支付状态
下单和修改支付状态是用户的业务系统干的事,我们来说说如何快速发起支付和接收异步通知
可能是目前最好的支付SDK
这是一款支付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
编辑:--ns868