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


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拆分字符串时产生空字符的解决方案
Sep 26 Javascript
Jquery $.getJSON 在IE下的缓存问题解决方法
Oct 10 Javascript
JS或jQuery获取ASP.NET服务器控件ID的方法
Jun 08 Javascript
微信小程序 页面跳转传值实现代码
Jul 27 Javascript
浅析Visual Studio Code断点调试Vue
Feb 27 Javascript
微信小程序搭建(mpvue+mpvue-weui+fly.js)的详细步骤
Sep 18 Javascript
小程序click-scroll组件设计
Jun 18 Javascript
微信小程序如何连接Java后台
Aug 08 Javascript
node.js使用yargs处理命令行参数操作示例
Feb 11 Javascript
jQuery实现带进度条的轮播图
Sep 13 jQuery
antd 表格列宽自适应方法以及错误处理操作
Oct 27 Javascript
详解微信小程序(Taro)手动埋点和自动埋点的实现
Mar 02 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
10个简化PHP开发的工具
2014/12/25 PHP
PHP7.3.10编译安装教程
2019/10/08 PHP
Javascript学习笔记一 之 数据类型
2010/12/15 Javascript
两个select多选模式的选项相互移动(示例代码)
2014/01/11 Javascript
jquery选择器之内容过滤选择器详解
2014/01/27 Javascript
jquery实现滑屏大图定时收缩为小banner图片的广告代码
2015/09/02 Javascript
基于zepto的移动端轻量级日期插件--date_picker
2016/03/04 Javascript
JavaScript学习小结之被嫌弃的eval函数和with语句实例详解
2016/08/01 Javascript
js原生跨域_用script标签的简单实现
2016/09/24 Javascript
Canvas实现放射线动画效果
2017/02/15 Javascript
JavaScript中数组Array.sort()排序方法详解
2017/03/01 Javascript
jquery获取select,option所有的value和text的实例
2017/03/06 Javascript
关于javascript获取内联样式与嵌入式样式的实例
2017/06/01 Javascript
JavaScript基础之流程控制语句的用法
2017/08/31 Javascript
详解vue移动端项目的适配(以mint-ui为例)
2018/08/17 Javascript
Nodejs把接收图片base64格式保存为文件存储到服务器上
2018/09/26 NodeJs
详解JavaScript中的坐标和距离
2019/05/27 Javascript
Vue关于组件化开发知识点详解
2020/05/13 Javascript
使用Python编写一个在Linux下实现截图分享的脚本的教程
2015/04/24 Python
python基础教程项目四之新闻聚合
2018/04/02 Python
Python3利用Dlib实现摄像头实时人脸检测和平铺显示示例
2019/02/21 Python
python实现弹跳小球
2019/05/13 Python
python+opencv实现摄像头调用的方法
2019/06/22 Python
python控制台实现tab补全和清屏的例子
2019/08/20 Python
Python hashlib模块实例使用详解
2019/12/24 Python
python系统指定文件的查找只输出目录下所有文件及文件夹
2020/01/19 Python
python中的selenium安装的步骤(浏览器自动化测试框架)
2020/03/17 Python
Django ORM实现按天获取数据去重求和例子
2020/05/18 Python
LACOSTE波兰官网:Polo衫、服装和鞋类
2020/09/29 全球购物
先进党支部事迹材料
2014/01/13 职场文书
教师实习自我鉴定总结
2019/08/20 职场文书
试了下Golang实现try catch的方法
2021/07/01 Golang
利用Matlab绘制各类特殊图形的实例代码
2021/07/16 Python
解决xampp安装后Apache无法启动
2022/03/21 Servers
“鬼灭之刃”热度不减,其成功背后的原因是什么?
2022/03/22 日漫
总结三种用 Python 作为小程序后端的方式
2022/05/02 Python