前端时间因工作需要,在项目中接入了微信的H5支付,具体就是在非微信浏览器调起手机微信实现支付。

官方文档及SDK:

以下为部分实际开发页面示例:

h5pay.php

其中,在接收到前端的订单参数并完成初步验证后,需要根据微信的统一下单接口组织下单参数:
php实现微信H5支付开发记录(非微信浏览器)

然后将要提交的参数生成xml形式,并提交到统一下单接口,根据接口返回的url拉起支付中间页:
php实现微信H5支付开发记录(非微信浏览器)
最后,在异步通知回调里,要接收微信传回的参数并进行签名验证和业务逻辑处理:

notify_url.php:

php实现微信H5支付开发记录(非微信浏览器)

php实现微信H5支付开发记录(非微信浏览器)

补充说明:微信对于重复提交的订单规定:如果订单号相同,价格或描述不同,会提示重复提交。
解决:在将订单号发给微信的时候加上随机数,同时在通知的时候去除随机数

相关文章: