微信公众号支付java前后端分离开发

微信公众号支付java前后端分离开发

微信公众号支付java前后端分离开发

我们开发的是基于河北银行的支付,支付宝微信都做了,这里就介绍一下微信公众号支付,这个公众号支付需要配置的东西太多了,官方文档写的跟s一样,看不懂,一点一点自摸索的,废话不多说,开始。

配置公众号

微信公众号支付java前后端分离开发_第1张图片
配置网页授权获取用户基本信息(配置域名,不要加http和https)

拿到appid和secret,接口信息配置是验签,获取token,代码如下
微信公众号支付java前后端分离开发_第2张图片
验签token需要把token,timestamp,nonce进行字典排序,还要对排序后的进行sha1加密,这个sdkDemo里都有。(验签一定要外网可访问的网址)

验签通过以后,前端会访问一个地址
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
(这里说一下,redirect_uri这个地址是写自己工程的地址,返回到前端)
这个网址是获取code,通过这个网址获取到code以后才能获得用户的openid
我们用的是snsapi_base这种静默的方式获取openid。这里都是前端帮我们实现的。

前端获取到code以后传到后端
在这里插入图片描述
通过这个code,自己写了个方法就能获取到openid,
微信公众号支付java前后端分离开发_第3张图片
httpUtil访问的地址是
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
获取到openid以后就可以把参数设置进去了
微信公众号支付java前后端分离开发_第4张图片
我们测试的时候这个openid和公众号的appid都是传空的。

status和result_code都为“0”的时候表示成功
微信公众号支付java前后端分离开发_第5张图片
成功以后获取“pay_info”里的东西,直接返回

“pay_info”里是这些
微信公众号支付java前后端分离开发_第6张图片
然后写你自己业务的回调方法。

到这里后端的代码写的就差不多了,剩下就是前端调页面了。

公众号还需要配置一些白名单,仔细看文档配置应该都不会错,就是文章写的太乱了,需要时间来缕一缕,还有就是,商户实现原生态页面的请求地址必须提供支付授权目录由服务商配置好,在微信提供的测试公众账号上无 法调起支付(测试时可以在手机微信端文件传输助手中进行)。这个我也在手机传输那测了,测不通,最好是弄到正式的服务号,在正式的环境上调试。微信真的是,测试环境基本就算是没有,这点弄得太辣鸡了,只能在正式环境上调试。

第一次写博客,可能写得不够好,有不明白得就留言把。

你可能感兴趣的:(微信公众号支付java前后端分离开发)