最近有项目接入微信H5支付,所以在这里大概总结下。
首先,需要微信公众号是服务认证号,然后申请开通微信H5支付【微信H5支付申请由原来的微信公众号平台迁移到商户平台,需要在商户平台申请开通】,开通后会收到邮件,内容参见官方文档说明:https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=3_1
这里我们在开发调用H5支付接口时,主要用到这3个:APPID,微信支付商户号mch_id,API密钥key。
接下下是平台设置,设置授权域名,在接口设置中就能找到,包括js接口安全域名和网页授权域名:
这个点进去之后会看到最下面两个:js接口安全域名,这个可以设置三个,就是填写你访问页面的域名即可
下面这个是网页授权回调域名,用于你支付完毕后回调的域名,将下载的文件放到服务器的根路径,确保可以访问,我是放在tomcat的webapp中
设置的域名要备案
然后设置支付域名,设置路径:商户平台-->产品中心-->开发配置中设置域名,
如果是公众号支付就设置对应的,要注意的是公众号支付授权域名为请求的前一级,比如你要请求http://xxx/wxh5/aa,那么你就设置http://xxx/wxh5即可
h5支付设置h5域名就行,不用后缀,直接写你要设置的域名
partnerkey需要在API中设置,需要安装证书,这个根据提示安装即可,自行设置32位partnerkey
接下来的开发,推荐使用开源的IJPay,我下的是1.1.3版本,这版本没有:申请退款 和 退款查询接口的参数组装,需要自己另行组装和发起http请求。
附上部分接口调用代码截图。另在测试支付接口时,可以参见官方说明文档(https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=15_4),一般都能找到原因。
统一下单接口:
申请退款接口,这个接口需要证书,这个证书在商户平台可以下载,我们java一般用到这个证书:apiclient_cert.p12,这里我把它放到web项目的resources目录下,此时获取此证书路径的代码截图如下:
,发送http请求,可以参见IJpay.jar包中的HttpKitExt.class中的postSSL方法。
好了,微信H5支付接口开发总结就到这,以此小记。