小程序调用微信支付的方法


Posted in Javascript onSeptember 26, 2019

本文实例为大家分享了小程序调用微信支付的具体代码,供大家参考,具体内容如下

首先调用小程序wx.login登录接口  获取用户code

将code作为参数  传给后端  调用后端接口wechat/pay/prepay

获取后端  这五个返回值

nonceStr 
package2
paySign 
signType
timeStamp

wx.login({
   success: function (res) {
    var userId = wx.getStorageSync('userId');
    var passw = userId + orderId;
    console.log(passw)
    var password = util.sha1(passw);
    //console.log(res) //获取用户的code 微信返回的值 
    wx.request({
     url: url + 'wechat/pay/prepay',
     method: "POST",
     header: {
      'content-type': 'application/json',
     },
     data: {
      code: res.code, //微信返的code
      userId: userId, //登录注册时后端返给我的
      orderId: orderId, //用户提交时后端返给我的工单号
      sign: password, //后端要求的serId + orderId加密
     },
     success: function (res) {
      // if (res.data.resultCode == "000000"){
       nonceStr = res.data.data.nonceStr;
       package2 = res.data.data.package;
       paySign = res.data.data.paySign;
       signType = res.data.data.signType;
       timeStamp = res.data.data.timeStamp;
       that.pay2()
      // }
       console.log(res.data.data.nonceStr)
       console.log(res.data.data.package)
       console.log(res.data.data.paySign)
       console.log(res.data.data.signType)
       console.log(res.data.data.timeStamp)
     },
     fail(err) {
      console.log(err)
     }
    })
   },
   fail(errs) {
    console.log(errs)
   }
  })

成功返回后,用户点击支付,调用微信支付接口wx.requestPayment:

后端设置好金额,用户调用即可支付

pay2() {
  wx.requestPayment(
   {
    timeStamp: timeStamp, //时间戳
    nonceStr: nonceStr, //随机字符串
    package: package2, //统一下单接口返回的 prepay_id 参数值
    signType: signType, //签名类型
    paySign: paySign, //签名
    success(res) {
     console.log(res)
     wx.navigateTo({
       url: '../successful/successful'
      })
    },
    fail(res) {
     console.log(res)
    }
   })
 },

最后我们的项目在调用微信wx.requestPayment 支付接口时,在success成功函数里请求了我方后端接口,获取状态码,判断是否支付成功。因为用户支付给微信,成功之后,只有用户能够看到,我方后端是获取不到是否支付成功的,请求这个接口就是这个目的。在微信请求支付成功之后,请求后端获取返回值。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 设计模式学习 Factory
Jul 29 Javascript
EasyUi tabs的高度与宽度根据IE窗口的变化自适应代码
Oct 26 Javascript
表单切换,用回车键替换Tab健(不支持IE)
Jul 20 Javascript
转换字符串为json对象的方法详解
Nov 29 Javascript
javascript中处理时间戳为日期格式的方法
Jan 02 Javascript
js监控IE火狐浏览器关闭、刷新、回退、前进事件
Jul 23 Javascript
JavaScript设计模式初探
Jan 07 Javascript
Google 地图API Map()构造器详解
Aug 06 Javascript
js通过keyCode值判断单击键盘上某个键,然后触发指定的事件方法
Feb 19 Javascript
vue路由传参页面刷新参数丢失问题解决方案
Oct 08 Javascript
vue设置导航栏、侧边栏为公共页面的例子
Nov 01 Javascript
jQuery实现颜色打字机的完整代码
Mar 19 jQuery
细说webpack6 Babel的使用详解
Sep 26 #Javascript
微信小程序实现拖拽功能
Sep 26 #Javascript
vue用BMap百度地图实现即时搜索功能
Sep 26 #Javascript
layui.tree组件的使用以及搜索节点功能的实现
Sep 26 #Javascript
微信小程序点击列表跳转到对应详情页过程解析
Sep 26 #Javascript
vue+element tabs选项卡分页效果
Jun 29 #Javascript
layui实现根据table数据判断按钮显示情况的方法
Sep 26 #Javascript
You might like
php empty()与isset()区别的详细介绍
2013/06/17 PHP
ThinkPHP3.1之D方法实例详解
2014/06/20 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
2016/10/08 PHP
详解PHP中mb_strpos的使用
2018/02/04 PHP
用Javscript实现表单复选框的全选功能
2007/05/25 Javascript
Javascript实现的类似Google的Div拖动效果代码
2011/08/09 Javascript
浅析js预加载/延迟加载
2014/09/25 Javascript
javascript实现验证身份证号的有效性并提示
2015/04/30 Javascript
浅析2种JavaScript继承方式
2015/12/04 Javascript
基于javascript实现listbox左右移动
2016/01/29 Javascript
jQuery siblings()用法实例详解
2016/04/26 Javascript
Bootstrap中data-target 到底是什么
2017/02/14 Javascript
简单实现js菜单栏切换效果
2017/03/04 Javascript
Vue监听数组变化源码解析
2017/03/09 Javascript
JavaScript中的this妙用实例分析
2020/05/09 Javascript
vue组件添加事件@click.native操作
2020/10/30 Javascript
对numpy中数组转置的求解以及向量内积计算方法
2018/10/31 Python
pandas重新生成索引的方法
2018/11/06 Python
python中JWT用户认证的实现
2020/05/18 Python
记一次Django响应超慢的解决过程
2020/09/17 Python
如何基于python实现年会抽奖工具
2020/10/20 Python
3种方式实现瀑布流布局小结
2019/09/05 HTML / CSS
雅诗兰黛旗下走天然植物路线的彩妆品牌:Prescriptives
2016/08/14 全球购物
医护人员英文求职信范文
2013/11/26 职场文书
法律专业应届生自荐信范文
2014/01/06 职场文书
高中军训感想300字
2014/03/04 职场文书
部门年终奖分配方案
2014/05/07 职场文书
家长会欢迎标语
2014/06/24 职场文书
预备党员群众路线思想汇报2014
2014/10/25 职场文书
七一表彰大会简报
2015/07/20 职场文书
高中军训感想
2015/08/07 职场文书
七年级数学教学反思
2016/02/17 职场文书
不会写演讲稿,快来看看这篇文章!
2019/08/06 职场文书
pandas 操作 Excel操作总结
2021/03/31 Python
Python实现批量将文件复制到新的目录中再修改名称
2022/04/12 Python
vue本地构建热更新卡顿的问题“75 advanced module optimization”完美解决方案
2022/08/05 Vue.js