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


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代码
Sep 07 Javascript
jQuery 方法大全方便学习参考
Feb 25 Javascript
javascript offsetX与layerX区别
Mar 12 Javascript
JQuery1.4+ Ajax IE8 内存泄漏问题
Oct 15 Javascript
javascript学习笔记(九) js对象 设计模式
Jun 19 Javascript
捕获键盘事件(且兼容各浏览器)
Jul 03 Javascript
require.js+vue开发微信上传图片组件
Oct 27 Javascript
AngularJS实现表格的增删改查(仅限前端)
Jul 04 Javascript
微信小程序支付及退款流程详解
Nov 30 Javascript
vue路由导航守卫和请求拦截以及基于node的token认证的方法
Apr 07 Javascript
0基础学习前端开发的一些建议
Jul 14 Javascript
Vue实现boradcast和dispatch的示例
Nov 13 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简单提示框alert封装函数
2010/08/08 PHP
php中spl_autoload详解
2014/10/17 PHP
php遍历、读取文件夹中图片并分页显示图片的方法
2016/11/15 PHP
Yii2实现增删改查后留在当前页的方法详解
2017/01/13 PHP
PHP输出XML格式数据的方法总结
2017/02/08 PHP
PHP 应用容器化以及部署方法
2018/02/12 PHP
jQuery插件开发的两种方法及$.fn.extend的详解
2014/01/16 Javascript
iframe实用操作锦集
2014/04/22 Javascript
js 动态修改css文件用到了cssRule
2014/08/20 Javascript
基于javascript实现的搜索时自动提示功能
2014/12/26 Javascript
js实现类似新浪微博首页内容渐显效果的方法
2015/04/10 Javascript
使用控制台破解百小度一个月只准改一次名字
2015/08/13 Javascript
jquery实现的横向二级导航效果代码
2015/08/26 Javascript
javascript实现九宫格相加数值相等
2020/05/28 Javascript
js浏览器html5表单验证
2016/10/17 Javascript
BootStrap整体框架之基础布局组件
2016/12/15 Javascript
JavaScript实现星星等级评价功能
2017/03/22 Javascript
使用p5.js临摹动态图片
2019/11/04 Javascript
[43:24]2018DOTA2亚洲邀请赛3月29日 小组赛A组 LGD VS Liquid
2018/03/30 DOTA
[39:52]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第一场
2018/04/04 DOTA
[38:40]2018DOTA2亚洲邀请赛 4.6淘汰赛 mineski vs LGD 第一场
2018/04/10 DOTA
使用Python实现下载网易云音乐的高清MV
2015/03/16 Python
Python3.x爬虫下载网页图片的实例讲解
2018/05/22 Python
python实现搜索文本文件内容脚本
2018/06/22 Python
Appium Python自动化测试之环境搭建的步骤
2019/01/23 Python
简单了解python的一些位运算技巧
2019/07/13 Python
Python实现二叉搜索树BST的方法示例
2019/07/30 Python
pandas数据拼接的实现示例
2020/04/16 Python
PyCharm最新激活码PyCharm2020.2.3有效
2020/11/18 Python
python 图像增强算法实现详解
2021/01/24 Python
The Hut英国:英国领先的豪华在线百货商店
2019/07/26 全球购物
《风娃娃》教学反思
2014/04/19 职场文书
投标人廉洁自律承诺书
2014/05/26 职场文书
2015秋季幼儿园开学通知
2015/07/16 职场文书
MySQL图形化管理工具Navicat安装步骤
2021/12/04 MySQL
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
2022/05/04 Python