本文举例说明了ThinkPHP框架下的微信支付功能。分享给大家参考,如下:
免责声明:原文主要取自白君瑶的博客,部分内容做了修改,仅供个人举例,主要供大家自己参考。请指正。
注意:微信官方账号的微信支付,强烈建议使用外网可访问的链接测试,否则即使代码正确也无法调出支付界面。可以用草料二维码生成可扫描的图片,也可以直接在微信输入网址。
使用框架:thinkphp3.2.3。
域名的确认已经被工信部备案了,在最初的开发中很容易错过“www”,而截图中因为我们的备案没有添加“www”,所以记得只去掉“http://”。
/Application/Common/Conf/config . PHP
[注意]:
在处理支付逻辑的时候,一定要记住这个页面是需要get请求的,也就是总金额和订单号提交给GET处理,可以收到$数据
上述文件中的getParameters()方法需要修改,标记的位置是根据实际业务情况从数据库中获取的。具体代码将在后面提供。
该路径必须与配置文件中的回调路径一致。这个回调功能是根据微信支付后是否真正完成数据更新来修改订单状态。例如,我将订单编号的付款状态参数从0异步设置为1。
【个人测试发现这里会话和cookie的设置无效,仅供参考】
[注意]:
之前发现由于微信服务的设计,会多次回拨notify()判断支付是否成功,但无法检测到简单的更新操作。为了与自己的平台关联,需要判断状态,否则不可避免要多次执行notify_wx()中的逻辑处理。
(2).这个功能开发中遇到的各种坑!强烈建议参考批评。[重要]
一般的网站开发,如果是手机,大部分都是使用上述的微信官方账号支付方式,大部分的扫码支付都出现在PC端。当然,有些移动网站有生成二维码的需求,但由于微信浏览器的识别。限制,一种情况是在微信上直接浏览的购物网站,长按二维码就能识别;另一种情况是在其他移动浏览器中,如百度和Toutiao。这样,除非你用另一部手机扫码支付,或者保存二维码截图,然后在微信上找到图片进行长按识别。很显然,后者的用法过于繁琐,所以惩罚是针对微信浏览器的开发。否则不建议使用扫码支付功能,但适合PC开发
扫码支付模式参考
注意微信配置的正确性。如果是错的,微信支付会报错,不会生成二维码。参考官方文件更深入了解也是不错的选择。
更多对PHP相关内容感兴趣的读者可以查看本网站专题:《PHP微信开发技巧汇总》、《php curl用法总结》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《PHP中json格式数据操作技巧汇总》、《PHP针对XML文件操作技巧总结》、0103010
希望本文对PHP编程有所帮助。