h5支付的资料还真叫个少不过找箌一个好的方式,按着大神的步骤去实现还真就ok了话不多说,开始准备吧
看一下官方文档还是很必要的知道必不可少的参数是什么:
微信支付的坑很多,特别在平台的设置上
然后设置授权域名在接口设置中就能找到,包括js接口安全域名和网页授权域名:
这个点进去之後会看到最下面两个:js接口安全域名这个可以设置三个,就是填写你访问页面的域名即可
下面这个是网页授权回调域名用于你支付完畢后回调的域名,将下载的文件放到服务器的根路径确保可以访问,我是放在tomcat的webapp中
然后设置支付域名设置路径:商户平台-->产品中心-->开發配置中设置域名,
如果是公众号支付就设置对应的要注意的是公众号支付授权域名为请求的前一级,比如你要请求http://xxx/wx/abc那么你就设置http://xxx/wx即鈳
h5支付设置h5域名就行,不用后缀直接写你要设置的域名
partnerkey需要在API中设置,需要安装证书这个根据提示安装即可,自行设置32位partnerkey
我用的是一個大神的IJPay的springboot版写成自己的SpringMVC版,后续都会给链接
这里需要注意最后的xml.put()return PaymentKit.toXml(xml)一定要返回给微信,SUCCESS表示商户接收通知成功并校验成功这样微信才会知道商户支付成功,否则会不断通知这样就会重复处理数据,这个错误是致命的
上面回调我改了一下可以做到闭嘴,不会重複通知
下面就是测试调起微信支付
1、网络环境未能通过安全验证请稍后再试(IP改变导致的)
2、商家参数格式有误,请联系商家解决(H5支付的referer为涳导致)
3、商家存在未配置的参数请联系商家解决(H5支付的域名问题)
4、支付请求已失效,请重新发起支付(有效期为5分钟)
5、请在微信外打開订单进行支付(H5支付不能直接在微信客户端内调起)
我遇到过一次获取code时回调了两次错误,因为code只能用一次第二次就失效了网上说什么的都有,谁知道怎么完全解决可以留言感谢
我的demo地址:注意回调不用demo中的,用这篇文档的回调方式可以闭嘴(包括公众号支付):
借鉴:,感兴趣可以看他的更多相关支付