微信小程序微信支付接入开发实例详解


Posted in Javascript onApril 12, 2017

本文主要讲述微信小程序接入微信支付开发过程中遇到的坑,分为两大块,小程序端和后台接口封装。本文主要内容如下:

一、后台接口封装;

二、小程序端整合;

三、总结

一、后台接口封装

本文介绍基于ThinkPHP5进行接口封装,具体步骤如下:

1、微信支付官方文档提供了PHP脚本微信支付的样例,下载下来;

2、样例已经封装好了每个类,我们只需要加上命名空间即可,在TP5的extend目录下新建一个目录wxpay,把样例中的类复制到该目录下,然后加上命名空间即可;

微信小程序微信支付接入开发实例详解

样例改造结果

其中最主要的一个类即WxPayApi.php,加上命名空间后的形式如下,其它类的改造类似:

微信小程序微信支付接入开发实例详解

3、在需要用到的地方引入命名空间,new 一个对象即可使用,统一下单接口举例:

先引入需要的类:

微信小程序微信支付接入开发实例详解

封装对外的统一下单接口,直接返回小程序调用支付接口所需的参数:

微信小程序微信支付接入开发实例详解

重新支付接口类似,可以通过统一下单类进行封装。

二、小程序端整合

小程序端很简单,只需要把接口返回的数据传给微信支付的js接口即可

接口返回的样例如下:

微信小程序微信支付接入开发实例详解

整合接口返回的数据举例如下:

微信小程序微信支付接入开发实例详解

三、总结

1、小程序微信支付API使用的公众号jssdk的微信支付API,官方文档上有一个参数写错了,就是传的appid中的“I ”必须为大写,不然一直提示参数错误。在这个上面调试好久,希望看到的小伙伴注意下。

2、调用统一下单接口后,不能直接把统一下单返回的结果返回给小程序端,需要重新生成下签名。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
纯js实现背景图片切换效果代码
Nov 14 Javascript
基于jQuery的弹出框插件
Mar 18 Javascript
js获得参数的getParameter使用示例
Feb 26 Javascript
jQuery实现的一个自定义Placeholder属性插件
Aug 11 Javascript
js获取域名的方法
Jan 27 Javascript
讲解JavaScript的Backbone.js框架的MVC结构设计理念
Feb 14 Javascript
js实现抽奖效果
Mar 27 Javascript
JavaScript实现简单的树形菜单效果
Jun 23 Javascript
Vue.js项目部署到服务器的详细步骤
Jul 17 Javascript
jquery easyui如何实现格式化列
Jul 30 jQuery
JavaScript中附件预览功能实现详解(推荐)
Aug 15 Javascript
javascript计算对象长度的方法
Oct 25 Javascript
JavaScript数据结构之广义表的定义与表示方法详解
Apr 12 #Javascript
JavaScript数据结构之数组的表示方法示例
Apr 12 #Javascript
easyui-edatagrid.js实现回车键结束编辑功能的实例
Apr 12 #Javascript
Vue生命周期示例详解
Apr 12 #Javascript
easyui关于validatebox实现多重规则验证的方法(必看)
Apr 12 #Javascript
easyui-datagrid特殊字符不能显示的处理方法
Apr 12 #Javascript
JavaScript数据结构中串的表示与应用实例
Apr 12 #Javascript
You might like
ECSHOP在PHP5.5及高版本上报错的解决方法
2015/08/31 PHP
PHP生成短网址方法汇总
2016/07/12 PHP
Yii2针对指定url的生成及图片等的引入方法小结
2016/07/18 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
页面中iframe相互传值传参
2009/12/13 Javascript
鼠标焦点离开文本框时验证的js代码
2013/07/19 Javascript
js获得当前系统日期时间的方法
2015/05/06 Javascript
javascript表格的渲染组件
2015/07/03 Javascript
javascript实现点击单选按钮链接转向对应网址的方法
2015/08/12 Javascript
分享js粘帖屏幕截图到web页面插件screenshot-paste
2020/08/21 Javascript
angularjs实现文字上下无缝滚动特效代码
2016/09/04 Javascript
jQuery的 $.ajax防止重复提交的两种方法(推荐)
2016/10/14 Javascript
vue实现城市列表选择功能
2018/07/16 Javascript
vue+express 构建后台管理系统的示例代码
2018/07/19 Javascript
vue中使用better-scroll实现滑动效果及注意事项
2018/11/15 Javascript
[49:21]TNC vs VG 2019DOTA2国际邀请赛淘汰赛 胜者组赛BO3 第三场 8.20.mp4
2019/08/22 DOTA
Python批量转换文件编码格式
2015/05/17 Python
python检查序列seq是否含有aset中项的方法
2015/06/30 Python
djang常用查询SQL语句的使用代码
2019/02/15 Python
python3.7 利用函数os pandas利用excel对文件名进行归类
2019/09/29 Python
Python matplotlib 绘制双Y轴曲线图的示例代码
2020/06/12 Python
Zavvi美国:英国娱乐之家
2017/03/19 全球购物
介绍下Java的输入输出流
2014/01/22 面试题
Java面向对象面试题
2016/12/26 面试题
生产管理的三大手法
2013/11/11 职场文书
艾滋病宣传活动总结
2014/05/08 职场文书
实习生工作证明范本
2014/09/14 职场文书
2014年党员干部四风问题自我剖析材料
2014/09/29 职场文书
关于调整工作时间的通知
2015/04/24 职场文书
股东大会通知
2015/04/24 职场文书
因身体原因离职的辞职信范文
2015/05/12 职场文书
关于保护环境的建议书
2019/06/24 职场文书
正确使用MySQL INSERT INTO语句
2021/05/26 MySQL
详解Oracle数据库中自带的所有表结构(sql代码)
2021/11/20 Oracle
游戏《铁拳》动画化!2022年年内播出
2022/03/21 日漫
nginx sticky实现基于cookie负载均衡示例详解
2022/12/24 Servers