2017-08-25:
记录下java集成网页微信支付和支付宝支付的处理思路和踩过的坑。
项目架构采用前后端分离的方式,前端采用vue.js,服务器采用ssm框架,分别部署在两个项目中。由于项目的特殊性,在开发过程中碰到了很多问题,在这里做个记录。
支付宝:
1、手机网页支付时,设置同步通知和异步通知,异步通知不会生效。
之前使用APP支付都是通过异步通知来处理业务逻辑,在实现网页支付时就碰到问题了。刚开始的解决方法是将同步通知返回到前端页面,前端页面拿到支付宝返回的参数以后,传给后台服务器,服务器去查询支付宝交易状态,再处理业务逻辑。
在对接过程中,经常会出现由于网络问题导致查询失败。想想这个方法太蠢了,然后换了种实现思路。同步回调到服务器端,服务器接收参数,查询支付结果,再处理业务逻辑,处理完以后重定向至前端页面,完美解决。
微信:
1、微信使用的是微信外H5网页支付,有一个地方需要特别注意,在网页端支付完成以后,微信不会有任何的同步通知。业务处理还是使用服务器异步通知。
先记录这些,后面会继续更新。