微信号:imooc-com

介绍:慕课网是一个超酷的互联网、IT技术免费学习平台,创新的网络一站式学习、实践体验;服务及时贴心,内容专业、有趣易学。专注服务互联网工程师快速成为技术高手!

干货贴 | 10行代码搞定微信支付(Java版)

2017-11-16 15:12 廖师兄




01

微信支付痛点


对于大多数同学来说,要开发微信支付可不简单。附上微信支付官方文档https://pay.weixin.qq.com/wiki/doc/api/index.html


从文档上可以看出,你需要解决很多问题,我就随便挑几个吧。

  • xml与对象的互转, 微信使用xml格式而不使用json通信, 也确实有点奇葩


  • 签名,千万不要以为只是MD5一下,要是你自己开发,我敢说,你60%的时间都耗在签名调试这一块



02

微信支付到底需要做什么




以上是微信公众账号支付的时序图,简单概括为2个点。


  • 下单,发起支付


  • 接收异步通知,修改订单的支付状态


下单和修改支付状态是用户的业务系统干的事,我们来说说如何快速发起支付和接收异步通知



03

可能是目前最好的支付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。



推荐廖师兄教程


▼点击图片,查看课程





长按二维码
即可关注我们

慕课网

 程序员的梦工厂 

更多技术干货

   等你来解锁



 
慕课网 更多文章 【慕课网实战课】从0开始双剑合璧Laravel,AngularJS全栈开发知乎 五功大成!慕课网安卓5.0客户端重磅发布! 节后第一天慕女神送你书籍给你助力!——评论区留言就送经典IT书籍! 【云栖专题——阿里百川技术分享】后APP时代的破局之路:阿里技术“三大容器五大方案”亮相,百川开放全面升级 做一次真实的开发,一次性拿下jQuery!转需~
猜您喜欢 跳槽要注意什么? 每日安全动态推送(05-11) 江湖酒一杯,冷暖饮自知:“老男孩儿”金立彦的数据江湖(三) 摔!这个春节期间最凶残的一期漫画 DaoCloud 技术开放日,技术细节首度曝光!