thinkphp微信开发教程(微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解)
thinkphp微信开发教程
微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解本文实例讲述了thinkphp框架下微信支付功能。分享给大家供大家参考,具体如下:
声明:原文主要摘自白俊遥博客 ,部分内容针对个人事例已作修改,主要用于自己的参考,欢迎指正。
注意:微信公众号支付,强烈建议使用外网可访问的链接测试,否则即便代码正确也无法调出支付界面,可使用草料二维码生成可扫描图片,也可直接在微信中输入网址。
使用框架:thinkphp 3.2.3
一.微信公众平台信息配置
1).进入微信公众平台
由左侧的“微信支付”进入配置界面,添加或修改正确的支付授权目录,注意该目录的要求,多建议精确到上一级目录,并加斜线 /
2).授权域名
【注意】:
域名的确定都是工信部备案过的,初次开发的很容易漏掉“www”,而截图中不加“www”是因为我们备案的原因,记得只去掉“http://”。
二.thinkphp 框架,相应代码配置
公众号支付->场景参考
1).weixinpay.php文件处理
导入 weixinpay.php文件到“/thinkphp/library/vendor/weixinpay/”目录下
2).配置
在项目的配置文件中,添加类此如下的代码,,其中的值需要自己根据实际公众号的信息进行配置【注意】: 很多人会搞错mchid而造成不必要的时间浪费,具体开发参照官方文档。
/application/common/conf/config.php
3).支付函数的编辑
即进行点击支付后的界面,其自动调用微信的默认支付框架。
【注意】:
进行支付逻辑的处理,一定要记住,要求使用get方式请求此页面,即使用 get 方式将总金额、订单号提交过来进行处理,$data 可以接收
4).getparameters修改
上述文件,需要修改其中的 getparameters()方法,其中标记的位置,是根据实际的业务情况而从数据库获取的。具体代码后面会有提供。
5).上述函数,需要html的配合:/m/view/cart/pay.html
6).回调函数的编辑
【注意】:
该路径必须要与配置文件中的回调路径一致,此回调函数,是根据微信是否真正完成支付后的数据更新,一般此处进行订单状态的修改,比如,我在此处异步执行的是将订单号的支付状态参数由0置为1.
[个人测试发现,此处 session 和 cookie 的设置都失效,仅做参考]
【注意】:
先前发现,因为微信服务的设计,会多次回调 notify()以判断是否真正的支付成功,而简单的update 操作是无法检测的,为了同自己的平台相关联,同理需要进行状态的判断,否则不可避免的会多次执行 notify_wx()中的逻辑处理
7).如果是整合到自己的项目中
需要在自己的公共函数中增加 curl_get_contents
8).补充:
(1).提醒:所提供的源代码,剥离出了微信支付的核心,注意html页面中对jquery.js的正确引用,pay.html基本是从微信公众号官网直接下载的demo页,同时使用代码前请配置微信支付url,且外网测试。
(2).强烈建议参考、批评.【重要】
三.微信扫码支付
>场景参考
>一般的网站开发中,如果是手机端,多数使用上面提到的公众号支付方式,而扫码支付多数出现在pc端,当然也有部分手机网站有生成二维码的需求,但是由于微信浏览器的识别限制,一种情况是直接在微信端浏览的购物网站,通过长按二维码就可以识别;另一种情况是在另外的手机端浏览器,比如百度、头条。 >如此一来除非用另一部手机进行扫码支付,或者将二维码截图保存后,再到微信中找到图片进行长按识别。显然后者用法过于繁琐,所以处分针对于微信浏览器开发,否则不建议使用扫码支付功能,而在pc端开发则适合使用该功能
2).功能开发
通用上文中介绍的功能开发步骤 1)、2)、3)、6)、7)
3).补充函数
在 common/function.php 中补充函数 weixinpay()和 qrcode()
4).设计显示微信扫码的页面
我定的页面为 m/order/mobilepayment.html,即通过访问 order/wechatpaymenter ,同时调用微信生成二维码,在该页面的 <img> 标签中显示出来,具体代码见后面的附录
5).补充 wechatpaymenter 方法。
6).注意:
模式二生成的二维码也是有时间限制的,同时,不能有权限拦截,并且,二维码的生成是根据订单号唯一确定的,如果生成一次,那么很可能第二次就不显示,建议可用 time()代替测试。
扫码支付模式参考
7).运行结果截图
在信息配置正确的情况下,功能结果如图所示
四.附录
1.源代码参考 >>>
2.提醒:
注意微信配置的正确性,如果有误,微信支付会有报错,二维码则会无法生成.多参考官方文档加深理解也是不错的选择。
希望本文所述对大家php程序设计有所帮助。
原文链接:https://blog.csdn.net/u011415782/article/details/53381076
- thinkphp静态怎么设置(浅谈thinkphp的nginx配置,以及重写隐藏index.php入口文件方法)
- thinkphp支付宝支付(thinkPHP和onethink微信支付插件分享)
- thinkphp微信开发实例(ThinkPHP框架下微信支付功能总结踩坑笔记)
- thinkphp5框架怎么打开(thinkphp5.1框架模板布局与模板继承用法分析)
- ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解(ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解)
- think php上传服务器(ThinkPHP5+UEditor图片上传到阿里云对象存储OSS功能示例)
- thinkphp5怎么设置默认返回(thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结)
- thinkphp分页效果怎样(thinkphp5+layui实现的分页样式示例)
- thinkphp前后端配合(thinkPHP+LayUI 流加载实现功能)
- thinkphp5.1插件实现(Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例)
- thinkphp标签详解(thinkphp整合系列之极验滑动验证码geetest功能)
- thinkphp5 新增模块(Thinkphp5.0框架的Db操作实例分析连接、增删改查、链式操作等)
- thinkphp5开发教程(thinkPHP5框架接口写法简单示例)
- thinkphpmodel使用教程(Thinkphp5.0 框架Model模型简单用法分析)
- 如何用thinkphp框架来写一个网站(php tpl模板引擎定义与使用示例)
- thinkphp5设计权限(Thinkphp5.0 框架视图view的比较标签用法分析)
- 相声转行影帝,被何晴抛弃,甩10年女友闪婚生子,刘威不靠谱情史(相声转行影帝被何晴抛弃)
- 岳云鹏不说相声,改行演员了 网友 快回来说相声(岳云鹏不说相声)
- 乔欣首演古装大女主,颜值演技双在线(乔欣首演古装大女主)
- 于正又推女性古装大剧 杨蓉乔欣演女配,两位女主成 重头戏(于正又推女性古装大剧)
- 乔欣古装女主戏获热度 作为女主,却没吃到红利(乔欣古装女主戏获热度)
- 爱情是什么(爱情是什么最经典的话)
热门推荐
- apache协议内容(Apache中rewrite伪静态规则介绍)
- 查询mysql 死锁(MySQL线上死锁分析实战)
- react的setstate第二个参数(示例详解react中useState的用法)
- python散点图(python scatter散点图用循环分类法加图例)
- C#预处理器指令
- python编程ide工具(这6款Python IDE&代码编辑器,你都用过吗?)
- css如何设置简写代码(10个CSS简写/优化技巧整理)
- laravel5怎么设置中间件(浅谈Laravel中的三种中间件的作用)
- vmwareesxi7教程(VMware ESXi安装使用记录附下载)
- python多线程并发使用场景(对python多线程SSH登录并发脚本详解)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9