微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解
作者:moTzxx 发布时间:2023-11-18 19:09:27
本文实例讲述了PHP实现微信公众号支付功能。分享给大家供大家参考,具体如下:
直言无讳,我就是一个初涉微信开发的小白,写这篇博客的原因:一是为了给自己做下备忘记录,以便以后能回忆这条程序猿的坎坷路;二是希望能帮助到同是自学开发的小白们;三是对那些不屑一顾于我等尘埃的大牛们的控诉,小白的道路坎坷,你们凭什么总要一副高高在上的样子?我等敬而不畏...
背景介绍:
随着智能手机的普及,移动支付下的微信、支付宝所提供的便利需求不言而喻,好吧,至少我周围连个小摊贩的早餐都可以微信支付,而且人家手机还比我高档得多。现在我需要测试并实现微信支付功能,显然只需能有一个可以成功使用的demo参考,后面的拓展开发也不会难到哪里去,重要的就是关键难点攻克,毕竟两天才折腾出来的我只有被上级训斥的命
操作步骤:
一.参考微信支付开发文档
1.搜索 微信支付开发文档
在此选择“公众号支付”,个人建议如果时间允许可以阅读官方提供的文档所有信息,也算是对人家成果的一种肯定,虽然很多人吐槽接口中曾存在的 bug,另一种情况就是直接下载他们的 SDK,先测试功能,再根据具体情况仔细研究
2.起初网上搜索到的博文有很多介绍很久以前的 SDK
说里面有报错、少“T”字母、“curl_close($ch)”语句不该出现等BUG,基本上如果配置没有问题,根据报错就能百度到很多解决方法,获取官方根据反馈已经作了修改,我下载到的文件夹,若是扔到公司的服务器,完全可以实现支付一分钱的功能演示,所以说代码是没有问题的,只是需要自行配置
二.服务号/商户号 公众号信息配置
1.在“基本配置”中获取 AppID,AppSecret 等信息,注意开启“开发者模式”
2.在“微信支付”中选择“开发配置”
根据提示配置授权目录,因为我暂时仅作为微信支付的测试,所以选择的是“测试授权目录”进行了路径的填写,参考部分网上建议,也亲测发现该目录写到测试页面的上一级目录是最合适的,下图可做参考。
3.添加测试白名单
4.在“接口权限”中,进行网页账号的授权修改
跟上一篇微信端分享功能中介绍的一样,将公司域名添加上即可(去掉http://)
三.代码配置实现
1.登录商户平台下载商户证书,然后放置在cert/目录下
2.根据代码中对下面四个重要数据的描述,获取并添加到相应位置
3.注意测试demo的支付界面为 jsapi.php
建议认真阅读该文件中的代码,以便熟悉内部的信息设置,方便以后开发的顺利进行。
4.接收微信支付成功的回调 进行数据处理
四.功能实现展示
1.使用“草料二维码”
将需要访问的支付界面的路径生成二维码 扫描。其中显示的数据是由于我测试var_dump()打印出的信息,便于参考
2.点击“立即支付”后进行支付界面的跳转输入密码可成功支付
3.个人认为
如果进行支付结果的返回,应该可以据此判断自行跳转自定义的支付成功界面,其实微信本身提供的界面已经习以为常,之后再做琢磨。
附录:
1.源代码参考链接
2.推荐文章
ThinkPHP整合微信支付之JSAPI模式
PHP微信支付接口开发
ThinkPHP微信支付接口开发完整例子
希望本文所述对大家PHP程序设计有所帮助。
来源:https://blog.csdn.net/u011415782/article/details/51902882
猜你喜欢
- 写在前面的话:此篇还是asp相关的,相信玩ASP的都有这个感觉,当数据有5万多条时-------just like音乐网,要调用最新的10条
- 本文实例讲述了PHP abstract 抽象类定义与用法。分享给大家供大家参考,具体如下:PHP抽象类应用要点:1.定义一些方法,子类必须完
- 这篇论坛文章主要介绍了Oracle数据库到SQL Server数据库主键的迁移过程,具体内容请参考下文。由于项目需要要将以前Oracle的数
- 需求背景公司前端使用 Highcharts 构建图表,图表的图例支持点击显示或隐藏相应的指标。现在有需求后端需要存储用户在前端点击后显示图表
- 1 栈的概念栈由一系列对象对象组织的一个集合,这些对象的增加和删除操作都遵循一个“后进先出”(Las
- 这几天在落伍上转转,发现有朋友不太明白一些网站在会员注册时,当输入用户名后没按“确定”提交数据,系统也能马上检测该用户名是否已经存在。在此我
- 本文实例讲述了Thinkphp 框架基础之源码获取、环境要求与目录结构。分享给大家供大家参考,具体如下:获取ThinkPHP获取ThinkP
- Function getIpvalue(clientIP)'得到客户端的IP转换成长整型,返回值getIpvalue&nb
- 数据挖掘查询任务根据 Analysis Services 内置的数据挖掘模型运行预测查询。预测查询通过使用挖掘模型来创建对新数据的预测。例如
- 很多时候,用户可能会因为承受不了某一产品中的细节设计而放弃使用该产品,这无疑是让设计人员感很沮丧的事情,因为除去这个细节的问题外,这个产品可
- 要下午传上的.结果事一多,忘记了.好不容易回来 . 这个和 dh20156 的那个,是差不多的。 找不到合适的图片,也
- PHP addslashes() 函数实例在每个双引号(")前添加反斜杠:<?php $str = addslashes(&
- 这里是一个使用日期函数的例子。下面的查询选择了所有记录,其date_col的值是在最后30天以内: mysql>
- 现在大部分网站都使用asp+access构建,这样的话通过下载access数据库简单就可以对网站进行破坏! 而很多的网站都不太重
- 印刷和网络是不一样的。传统的布局排版并不适于网络,因为传统的印刷布局,几乎只想要什么样的平面效果都能很好的达到,但在网络上设计就很困难,尽管
- 数据处理在现代企业运营中变得越来越重要,越来越关键,甚至会成为企业发展的一项瓶颈. 数据保护的重要性也不言而喻. 如果一个企业没有很好的数据
- 像在下拉菜单中选择省、市这样的操作,我一直用ASP来创建生成列表函数,把它们保存在一个Include文件中,用的时候就加载。这样做确实有个不
- 1、什么是AspJpeg?AspJpeg是一款功能强大的基于Microsoft IIS环境的图片处理组件,网络上对其进行详细和深入介绍的中文
- MySQL的ODBC接口实现是通过安装MyODBC驱动,这个驱动程序是跨平台的。如果在Linux等Unix体系操作系统下使用,需要先安装Io
- 本文实例讲述了原生JS实现Ajax通过POST方式与PHP进行交互的方法。分享给大家供大家参考,具体如下:一、代码conn.php<?