微信H5支付是什么?这一点先要和微信公众号支付区别开来,但是如果你熟悉微信公众号(JSAPI)支付,则微信H5支付就显得比较简单了,不过二者的区别在于微信H5支付是在除微信浏览器以外的手机浏览器完成的支付模式,微信公众号JSAPI支付则是只能在微信客户端内的支付。
所以我们通常在比如手机百度浏览器、UC浏览器打开的微商城,完成的微信支付其实就是微信H5支付接口。它和JSAPI类似,但是又不一样的。下面来简单介绍下开发的流程。
需要注意的是,截止到我写这篇文章,目前微信公众号暂时只对企业账号开通微信H5支付,意思是个体工商户是暂时不能申请,先看看您的公众号是否申请下来了微信支付?
当微信方面通过将商家平台的管理账户及密码发过来的时候,进入微信商家平台,完成微信H5支付的申请,具体流程就不多做介绍了。
同时我们也可以看到微信官方对H5支付的简单介绍:H5支付是指商户在微信客户端外的移动端网页展示商品或服务,用户在前述页面确认使用微信支付时,商户发起本服务呼起微信客户端进行支付。主要用于触屏版的手机浏览器请求微信支付的场景。可以方便的从外部浏览器唤起微信支付。
接下来微信H5支付是如何接入我们的网站的呢?我一般都是写PHP的,先可以下载官方的demo文档来参考一下哦。不过你会发现没有H5支付的演示文档,其实就是现在JSAPI的演示文档呢,也就是调用统一下单接口。不过我们拿来要做一些修改。
需要的请求参数可以到微信官方查看,如下图:
接入我们的网站,试着想一想,我们是不是需要生成一个页面,然后该页面需要获得订单的一些数据,比如商品的总金额、数量、商品名称,然后通过该页面提交给微信H5支付的接口,其实就是这么一个流程,不过后面的逻辑肯定比较复杂。
在实际开发中,该页面应该是一个动态页面,安全处理的话是要通过POST或者AJAX异步提交过来,且订单的相关信息应该已经写入了数据库,只是剩下应该支付的步骤了。
点击立即微信支付,就是我们重点的后端接口处理逻辑了,在开发中,我们可以提交到一个PHP文件,例如wxpay_h5.php,该PHP文件需要接受来自订单的订单号、金额、数量、价格等数据,并可以做出安全判断,下面是部分代码一览:
一些常见问题整理
1、统一下单模式和JSAPI不一样,应该是MWEB模式。
2、如果您的网站提交的订单号是一个固定的编号,建议将该编号链接一个秒级的时间戳,以便用户二次支付不成功。
3、订单的金额要转为浮点类型后,乘以100。
4、接口文档的SetNotify_url方法是回调方法,接收支付是否成功等回调处理在这里自定义PHP文件进行处理。
5、和JSAPI一样,微信H5支付需要在手机端测试,所以需要上传代码在服务器,通过手机浏览器打开测试,比较麻烦。
以上就是微信H5支付的开发流程以及常见问题,由于时间问题,文章有不足的地方,还请谅解。昆明建站派原创文章,谢绝转载!