微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解


Posted in PHP onApril 10, 2019

本文实例讲述了PHP实现微信公众号支付功能。分享给大家供大家参考,具体如下:

   直言无讳,我就是一个初涉微信开发的小白,写这篇博客的原因:一是为了给自己做下备忘记录,以便以后能回忆这条程序猿的坎坷路;二是希望能帮助到同是自学开发的小白们;三是对那些不屑一顾于我等尘埃的大牛们的控诉,小白的道路坎坷,你们凭什么总要一副高高在上的样子?我等敬而不畏...

背景介绍:

   随着智能手机的普及,移动支付下的微信、支付宝所提供的便利需求不言而喻,好吧,至少我周围连个小摊贩的早餐都可以微信支付,而且人家手机还比我高档得多。现在我需要测试并实现微信支付功能,显然只需能有一个可以成功使用的demo参考,后面的拓展开发也不会难到哪里去,重要的就是关键难点攻克,毕竟两天才折腾出来的我只有被上级训斥的命

操作步骤:

一.参考微信支付开发文档

1.搜索 微信支付开发文档

   在此选择“公众号支付”,个人建议如果时间允许可以阅读官方提供的文档所有信息,也算是对人家成果的一种肯定,虽然很多人吐槽接口中曾存在的 bug,另一种情况就是直接下载他们的 SDK,先测试功能,再根据具体情况仔细研究

     微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解

2.起初网上搜索到的博文有很多介绍很久以前的 SDK

   说里面有报错、少“T”字母、“curl_close($ch)”语句不该出现等BUG,基本上如果配置没有问题,根据报错就能百度到很多解决方法,获取官方根据反馈已经作了修改,我下载到的文件夹,若是扔到公司的服务器,完全可以实现支付一分钱的功能演示,所以说代码是没有问题的,只是需要自行配置

     微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解

二.服务号/商户号 公众号信息配置

1.在“基本配置”中获取 AppID,AppSecret 等信息,注意开启“开发者模式”

2.在“微信支付”中选择“开发配置”

   根据提示配置授权目录,因为我暂时仅作为微信支付的测试,所以选择的是“测试授权目录”进行了路径的填写,参考部分网上建议,也亲测发现该目录写到测试页面的上一级目录是最合适的,下图可做参考。

     微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解

3.添加测试白名单

4.在“接口权限”中,进行网页账号的授权修改

  跟上一篇微信端分享功能中介绍的一样,将公司域名添加上即可(去掉http://)

      微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解

三.代码配置实现

1.登录商户平台下载商户证书,然后放置在cert/目录下

        微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解

2.根据代码中对下面四个重要数据的描述,获取并添加到相应位置

        微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解

3.注意测试demo的支付界面为 jsapi.php

  建议认真阅读该文件中的代码,以便熟悉内部的信息设置,方便以后开发的顺利进行。

        微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解

4.接收微信支付成功的回调 进行数据处理

       微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解

四.功能实现展示

1.使用“草料二维码”

   将需要访问的支付界面的路径生成二维码 扫描。其中显示的数据是由于我测试var_dump()打印出的信息,便于参考

 微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解 微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解    微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解

2.点击“立即支付”后进行支付界面的跳转输入密码可成功支付

3.个人认为

   如果进行支付结果的返回,应该可以据此判断自行跳转自定义的支付成功界面,其实微信本身提供的界面已经习以为常,之后再做琢磨。

附录:

1.源代码参考链接

2.推荐文章

 ThinkPHP整合微信支付之JSAPI模式   

  PHP微信支付接口开发

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
一个odbc连mssql分页的类
Oct 09 PHP
PHP获取当前文件所在目录 getcwd()函数
May 13 PHP
php关于array_multisort多维数组排序的使用说明
Jan 04 PHP
比较时间段一与时间段二是否有交集的php函数
May 31 PHP
PHP实现的带超时功能get_headers函数
Feb 10 PHP
smarty模板引擎之配置文件数据和保留数据
Mar 30 PHP
php实现基于pdo的事务处理方法示例
Jul 21 PHP
PHP实现的简单在线计算器功能示例
Aug 02 PHP
PHP attributes()函数讲解
Feb 03 PHP
Ajax+PHP实现的模拟进度条功能示例
Feb 11 PHP
php的无刷新操作实现方法分析
Feb 28 PHP
thinkphp框架表单数组实现图片批量上传功能示例
Apr 04 PHP
ThinkPHP框架实现的微信支付接口开发完整示例
Apr 10 #PHP
微信公众平台开发教程①获取用户Openid及个人信息图文详解
Apr 10 #PHP
微信公众平台开发教程⑥ 微信开发集成类的使用图文详解
Apr 10 #PHP
微信公众平台开发教程②微信端分享功能图文详解
Apr 10 #PHP
ThinkPHP框架整合微信支付之刷卡模式图文详解
Apr 10 #PHP
laravel配置Redis多个库的实现方法
Apr 10 #PHP
在Ubuntu 18.04上安装PHP 7.3 7.2和7.0的方法
Apr 09 #PHP
You might like
PHP 文件上传功能实现代码
2009/06/24 PHP
destoon切换城市后实现logo旁边显示地区名称的方法
2014/08/21 PHP
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
2013/01/04 Javascript
网页中返回顶部代码(多种方法)另附注释说明
2013/04/24 Javascript
如何判断微信内置浏览器(通过User Agent实现)
2014/09/01 Javascript
jQuery中empty()方法用法实例
2015/01/16 Javascript
json的使用小结
2016/06/08 Javascript
20分钟打造属于你的Bootstrap站点
2016/07/27 Javascript
JS实现屏蔽网页右键复制及ctrl+c复制的方法【2种方法】
2016/09/04 Javascript
AngularJS实现树形结构(ztree)菜单示例代码
2016/09/18 Javascript
jquery validation验证表单插件
2017/01/07 Javascript
jQuery超简单遮罩层实现方法示例
2018/09/06 jQuery
Vue项目pdf(base64)转图片遇到的问题及解决方法
2018/10/19 Javascript
vue实现登录页面的验证码以及验证过程解析(面向新手)
2019/08/02 Javascript
微信小程序实现上传多个文件 超过10个
2020/03/30 Javascript
vue实现图片懒加载的方法分析
2020/02/05 Javascript
VUE前端从后台请求过来的数据进行转换数据结构操作
2020/11/11 Javascript
[01:00:59]VP VS VG Supermajor小组赛胜者组第二轮 BO3第二场 6.2
2018/06/03 DOTA
python实现带声音的摩斯码翻译实现方法
2015/05/20 Python
Python只用40行代码编写的计算器实例
2017/05/10 Python
python输出100以内的质数与合数实例代码
2018/07/08 Python
Python两个字典键同值相加的几种方法
2019/03/05 Python
python如何给字典的键对应的值为字典项的字典赋值
2019/07/05 Python
Python将文字转成语音并读出来的实例详解
2019/07/15 Python
Python适配器模式代码实现解析
2019/08/02 Python
关于python字符串方法分类详解
2019/08/20 Python
印度尼西亚在线时尚购物网站:ZALORA印尼
2016/08/02 全球购物
芬兰攀岩、山地运动和户外活动用品购物网站:Bergfreunde
2016/10/06 全球购物
Seavenger官网:潜水服、浮潜、靴子和袜子
2020/03/05 全球购物
Structs界面控制层技术
2013/10/11 面试题
大学生职业生涯规划书参考模板
2014/03/05 职场文书
本溪水洞导游词
2015/02/11 职场文书
男方婚前保证书
2015/02/28 职场文书
新教师教学工作总结
2015/08/14 职场文书
2016年八一建军节活动总结
2016/04/05 职场文书
用Java实现简单计算器功能
2021/07/21 Java/Android