微信公众平台开发教程③ 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 相关文章推荐
用在PHP里的JS打印函数
Oct 09 PHP
提升PHP执行速度全攻略(下)
Oct 09 PHP
php开发工具之vs2005图解
Jan 12 PHP
PHP strip_tags()去除HTML、XML以及PHP的标签介绍
Feb 18 PHP
Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
Nov 04 PHP
微信公众号点击菜单即可打开并登录微站的实现方法
Nov 14 PHP
php树型类实例
Dec 05 PHP
Windows平台实现PHP连接SQL Server2008的方法
Jul 26 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
Jul 19 PHP
tp5(thinkPHP5)框架实现多数据库查询的方法
Jan 10 PHP
使用PHPUnit进行单元测试并生成代码覆盖率报告的方法
Mar 08 PHP
PHP如何使用array_unshift()在数组开头插入元素
Sep 01 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
《超神学院》霸气归来, 天使彦上演维多利亚的秘密
2020/03/02 国漫
PHP通过COM使用ADODB的简单例子
2006/12/31 PHP
php中将html中的br换行符转换为文本输入中的换行符
2013/03/26 PHP
javascript 一个自定义长度的文本自动换行的函数
2007/08/19 Javascript
js时间比较示例分享(日期比较)
2014/03/05 Javascript
jQuery基础的工厂函数以及定时器的经典实例分析
2016/05/20 Javascript
Bootstrap缩略图与警告框学习使用
2017/02/08 Javascript
axios全局请求参数设置,请求及返回拦截器的方法
2018/03/05 Javascript
微信小程序网络封装(简单高效)
2018/08/06 Javascript
DatePickerDialog 自定义样式及使用全解
2019/07/09 Javascript
vue-cli随机生成port源码的方法
2019/09/02 Javascript
微信小程序跳转到其他网页(外部链接)的实现方法
2019/09/20 Javascript
[02:49]DAC2018决赛日TOP5 LGD开启黑暗之门绝杀VP
2018/04/08 DOTA
python3简单实现微信爬虫
2015/04/09 Python
Python的Django框架中if标签的相关使用
2015/07/15 Python
python中reduce()函数的使用方法示例
2017/09/29 Python
python爬取网页转换为PDF文件
2018/06/07 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
2018/07/27 Python
对Python中list的倒序索引和切片实例讲解
2018/11/15 Python
简单了解python的一些位运算技巧
2019/07/13 Python
pyinstaller打包opencv和numpy程序运行错误解决
2019/08/16 Python
利用python实现AR教程
2019/11/20 Python
使用Tkinter制作信息提示框
2020/02/18 Python
Python Pillow(PIL)库的用法详解
2020/09/19 Python
美国复古街头服饰精品店:Need Supply Co.
2017/02/22 全球购物
Otiumberg官网:英国半精致珠宝品牌
2021/01/16 全球购物
Linux Interview Questions For software testers
2013/05/17 面试题
集中采购方案
2014/06/10 职场文书
师范生求职自荐信
2014/06/14 职场文书
2014年党风建设工作总结
2014/11/19 职场文书
成品仓库管理员岗位职责
2015/04/09 职场文书
基层组织建设年活动总结
2015/05/09 职场文书
钓鱼岛事件感想
2015/08/11 职场文书
机关单位2016年创先争优活动总结
2016/04/05 职场文书
面试必问:圣杯布局和双飞翼布局的区别
2021/05/13 HTML / CSS
Python实现随机生成迷宫并自动寻路
2021/06/13 Python