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


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 相关文章推荐
多浏览器兼容的获取元素和鼠标的位置的js代码
Dec 15 Javascript
Jquery 一次处理多个ajax请求的代码
Sep 02 Javascript
jQuery常用且重要方法汇总
Jul 13 Javascript
jQuery实现页面顶部下拉广告
Dec 30 Javascript
基于bootstrap写的一点localStorage本地储存
Nov 21 Javascript
webpack实用小功能介绍
Jan 02 Javascript
vue.js 获取select中的value实例
Mar 01 Javascript
bootstrap下拉分页样式 带跳转页码
Dec 29 Javascript
Node.js折腾记一:读指定文件夹,输出该文件夹的文件树详解
Apr 20 Javascript
js prototype深入理解及应用实例分析
Nov 25 Javascript
jQuery实现移动端图片上传预览组件的方法分析
May 01 jQuery
关于element的表单组件整理笔记
Feb 05 Javascript
细说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
基于PHP5魔术常量与魔术方法的详解
2013/06/13 PHP
PHP常用函数和常见疑难问题解答
2014/03/05 PHP
php操作MongoDB基础教程(连接、新增、修改、删除、查询)
2014/03/25 PHP
2个Codeigniter文件批量上传控制器写法例子
2014/07/25 PHP
PHP连接操作access数据库实例
2015/03/30 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法
2018/09/16 PHP
分享XmlHttpRequest调用Webservice的一点心得
2012/07/20 Javascript
javascript学习笔记之10个原生技巧
2014/05/21 Javascript
node.js中的fs.createReadStream方法使用说明
2014/12/17 Javascript
JavaScript的原型继承详解
2015/02/15 Javascript
Node.js的项目构建工具Grunt的安装与配置教程
2016/05/12 Javascript
浅谈javascript alert和confirm的美化
2016/12/15 Javascript
原生js验证简洁注册登录页面
2016/12/17 Javascript
jquery,js简单实现类似Angular.js双向绑定
2017/01/13 Javascript
微信小程序实现表单校验功能
2020/03/30 Javascript
基于Bootstrap框架菜鸟入门教程(推荐)
2017/09/17 Javascript
浅谈vue-router2路由参数注意的问题
2017/11/08 Javascript
node结合swig渲染摸板的方法
2018/04/11 Javascript
微信小程序实现列表页的点赞和取消点赞功能
2018/11/02 Javascript
详解VUE里子组件如何获取父组件动态变化的值
2018/12/26 Javascript
webpack-url-loader 解决项目中图片打包路径问题
2019/02/15 Javascript
websocket4.0+typescript 实现热更新的方法
2019/08/14 Javascript
Nodejs技巧之Exceljs表格操作用法示例
2019/11/06 NodeJs
Openlayers学习之地图比例尺控件
2020/09/28 Javascript
vue实现登录功能
2020/12/31 Vue.js
Python实现简单的可逆加密程序实例
2015/03/05 Python
python检测某个变量是否有定义的方法
2015/05/20 Python
Python基于Floyd算法求解最短路径距离问题实例详解
2018/05/16 Python
python集合常见运算案例解析
2019/10/17 Python
CSS3 @media的基本用法总结
2019/09/10 HTML / CSS
工资证明范本
2015/06/12 职场文书
《爬天都峰》教学反思
2016/02/23 职场文书
2016年暑期社会实践活动总结报告
2016/04/06 职场文书
golang import自定义包方式
2021/04/29 Golang
Python 数据可视化之Seaborn详解
2021/11/02 Python