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


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 相关文章推荐
ASP小贴士/ASP Tips javascript tips可以当桌面
Dec 10 Javascript
jQuery ajax cache缓存问题
Jul 01 Javascript
js原型链原理看图说明
Jul 07 Javascript
jQuery+CSS 半开折叠效果原理及代码(自写)
Mar 04 Javascript
基于JavaScript 类的使用详解
May 07 Javascript
JS判断iframe是否加载完成的方法
Aug 03 Javascript
JavaScript String(字符串)对象的简单实例(推荐)
Aug 31 Javascript
JavaScript、C# URL编码、解码总结
Jan 21 Javascript
JavaScript高级函数应用之分时函数实例分析
Aug 03 Javascript
vue 弹框产生的滚动穿透问题的解决
Sep 21 Javascript
vue地址栏直接输入路由无效问题的解决
Nov 15 Javascript
浅谈Vue3.0新版API之composition-api入坑指南
Apr 30 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
php 生成文字png图片的代码
2011/04/17 PHP
php使用Jpgraph绘制饼状图的方法
2015/06/10 PHP
yii2使用ajax返回json的实现方法
2016/05/14 PHP
PHP 实现手机端APP支付宝支付功能
2018/06/07 PHP
科讯商业版中用到的ajax空间与分页函数
2007/09/02 Javascript
document.designMode的功能与使用方法介绍
2007/11/22 Javascript
javascript 函数速查表
2010/02/07 Javascript
一个XML格式数据转换为图表的例子
2010/02/09 Javascript
Javascript 判断客户端浏览器类型代码
2010/03/01 Javascript
javascript题目,重写函数让其无限相加
2012/02/15 Javascript
javascript设计模式 接口介绍
2012/07/24 Javascript
js弹出模式对话框,并接收回传值的方法
2013/03/12 Javascript
深入理解JavaScript高级之词法作用域和作用域链
2013/12/10 Javascript
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
2017/05/08 jQuery
如何开发出更好的JavaScript模块
2017/12/22 Javascript
浅谈vuex 闲置状态重置方案
2018/01/04 Javascript
javascript性能优化之分时函数的介绍
2018/03/28 Javascript
vue全局组件与局部组件使用方法详解
2018/03/29 Javascript
webpack4.0 入门实践教程
2018/10/08 Javascript
vue读取本地的excel文件并显示在网页上方法示例
2019/05/29 Javascript
vue实现表格合并功能
2020/12/01 Vue.js
[03:24][TI9纪实] Dota奶爸
2019/08/22 DOTA
Python实现获取磁盘剩余空间的2种方法
2017/06/07 Python
学习python中matplotlib绘图设置坐标轴刻度、文本
2018/02/07 Python
详解python读取image
2019/04/03 Python
Python爬虫之Selenium下拉框处理的实现
2020/12/04 Python
请写出char *p与"零值"比较的if语句
2014/09/24 面试题
考试作弊检讨书大全
2014/02/18 职场文书
班主任师德师风自我剖析材料
2014/10/02 职场文书
分居协议书范本
2014/11/03 职场文书
机动车交通事故协议书
2015/01/29 职场文书
车辆安全隐患排查制度
2015/08/05 职场文书
幼儿园语言教学反思
2016/02/23 职场文书
MySQL如何使用使用Xtrabackup进行备份和恢复
2021/06/21 MySQL
SQL写法--行行比较
2021/08/23 SQL Server
在 Python 中利用 Pool 进行多线程
2022/04/24 Python