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


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 相关文章推荐
Code:loadScript( )加载js的功能函数
Feb 02 Javascript
深入理解JavaScript中的传值与传引用
Dec 09 Javascript
介绍JavaScript中Math.abs()方法的使用
Jun 14 Javascript
js实现文本框只允许输入数字并限制数字大小的方法
Aug 19 Javascript
jquery实现鼠标经过显示下划线的渐变下拉菜单效果代码
Aug 24 Javascript
jquery easyui datagrid实现增加,修改,删除方法总结
May 25 Javascript
很棒的js选项卡切换效果
Jul 15 Javascript
深入理解vue.js中$watch的oldvalue与newValue
Aug 07 Javascript
浅谈在vue项目中如何定义全局变量和全局函数
Oct 24 Javascript
详解在vue-test-utils中mock全局对象
Nov 07 Javascript
vue中组件的过渡动画及实现代码
Nov 21 Javascript
了解javascript中变量及函数的提升
May 27 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
php结合js实现点击超链接执行删除确认操作
2014/10/31 PHP
PHP错误和异常处理功能模块示例
2016/11/12 PHP
php实现文件上传及头像预览功能
2017/01/15 PHP
highchart数据源纵轴json内的值必须是int(详解)
2017/02/20 PHP
Thinkphp5+uploadify实现的文件上传功能示例
2018/05/26 PHP
JavaScript对象、属性、事件手册集合方便查询
2010/07/04 Javascript
JQuery 图片滚动轮播示例代码
2014/03/24 Javascript
在页面加载完成后通过jquery给多个span赋值
2014/05/21 Javascript
javascript实现表格增删改操作实例详解
2015/05/15 Javascript
JavaScript实现点击自动选择TextArea文本的方法
2015/07/02 Javascript
JavaScript中判断数据类型的方法总结
2016/05/24 Javascript
Bootstrap轮播插件中图片变形的终极解决方案 使用jqthumb.js
2016/07/10 Javascript
深入理解JavaScript的值传递和引用传递
2018/10/24 Javascript
Angular封装搜索框组件操作示例
2019/04/25 Javascript
axios 实现post请求时把对象obj数据转为formdata
2019/10/31 Javascript
单线程JavaScript实现异步过程详解
2020/05/19 Javascript
jquery html添加元素/删除元素操作实例详解
2020/05/20 jQuery
[00:55]2015国际邀请赛中国区预选赛5月23日——28日约战上海
2015/05/25 DOTA
Python实现telnet服务器的方法
2015/07/10 Python
星球大战与Python之间的那些事
2016/01/07 Python
Pandas DataFrame 取一行数据会得到Series的方法
2018/11/10 Python
Python神奇的内置函数locals的实例讲解
2019/02/22 Python
html5调用摄像头功能的实现代码
2018/05/07 HTML / CSS
Canvas 文本转粒子效果的实现代码
2019/02/14 HTML / CSS
使用html5实现表格实现标题合并的实例代码
2019/05/13 HTML / CSS
玩具反斗城葡萄牙官方商城:Toys"R"Us葡萄牙
2016/10/21 全球购物
八皇后问题,输出了所有情况,不过有些结果只是旋转了90度
2016/08/15 面试题
Exception类的常用方法
2012/06/16 面试题
体育专业自荐书
2014/05/29 职场文书
应届生自荐信
2014/06/30 职场文书
2014党员民主评议个人思想剖析发言
2014/09/19 职场文书
关于感谢信的范文
2015/01/23 职场文书
装饰施工员岗位职责
2015/04/11 职场文书
2015年派出所工作总结
2015/04/24 职场文书
党支部考察鉴定意见
2015/06/02 职场文书
zabbix如何添加监控主机和自定义监控项
2022/08/14 Servers