php tp5 微信H5支付 原生

一、使用微信支付前提:

(1)拥有微信公众平台公众号,且为服务号。

服务号:主要偏向于服务交互(功能类似12315,114,银行,提供绑定信息,服务交互),每月可群发4条消息;

适用人群:媒体、企业、政府或其他组织。

了解不同公众号差别具体参考:http://kf.qq.com/faq/120322fu63YV130422AJbaI3.html

(2)公众号必须经过微信认证

php tp5 微信H5支付 原生

(3)目前支持企业、媒体、APP、网店商家类型认证的服务号。

二、微信支付流程(微信浏览器内)

php tp5 微信H5支付 原生

其他方式可见该链接

三、使用微信支付

1去官方下载sdk(以微信浏览器内支付为例)

也可自行根据规则写调用微信接口调用方法

php tp5 微信H5支付 原生

2,将官方sdk放入项目中

php tp5 微信H5支付 原生

, 官方sdk准备好后,就可以进行支付代码编写,

客户端编写:

将 *openid  , 支付金额 , 订单信息等数据传给服务器

php tp5 微信H5支付 原生

调用微信浏览器内自带支付方法

php tp5 微信H5支付 原生

服务器端:

获取到用户openid,准备支付所需的参数

php tp5 微信H5支付 原生

通过客户端传入数据完成向微信支付系统申请统一下单

php tp5 微信H5支付 原生

将得到的统一下单数据,使用jsapi浏览器生成验证数据的方法处理数据,发回客户端

php tp5 微信H5支付 原生

处理支付结果信息

四、微信支付结束后 通知商户后台系统

微信得到用户支付结果后 , 会使用异步的方式向商户服务器发出支付结果通知

微信通知频率为15/15/30/180/1800/1800/1800/1800/3600,单位:秒

如果使用微信自带sdk, 需要自己写微信支付结果处理类,继承微信自带的处理通知类

并且重写NotifyProcess($data,&$msg)方法

php tp5 微信H5支付 原生

五、总结

我在做微信支付时,将微信公众号相关操作和微信支付放到一起, 是一个错误的做法,公众号和微信支付应该彻底分开,为之后更好的扩展支付相关业务

php tp5 微信H5支付 原生