vue前后分离调起微信支付


Posted in Javascript onJuly 29, 2019

本文实例为大家分享了vue前后分离调起微信支付的具体代码,供大家参考,具体内容如下

@ VUE调起微信支付

VUE前后分离调起微信支付

支付很简单,但每次都是在网上直接扒下来使用,老年人记忆,于是就自己记录一下,方便以后快速的粘贴复制;

第一步: VUE 需要安装 微信支付模块

// npm install weixin-js-sdk
import wx from "weixin-js-sdk";

第二步:封装 微信支付方法

wexinPay(data, cb, errorCb) {
  //获取后台传入的数据
  let appId = data.appId;
  let timestamp = data.timeStamp;
  let nonceStr = data.nonceStr;
  let signature = data.signature;
  let packages = data.package;
  let paySign = data.paySign;
  let signType = data.signType;
  console.log('发起微信支付')
  //下面要发起微信支付了
  wx.config({
   debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
   appId: appId, // 必填,公众号的唯一标识
   timestamp: timestamp, // 必填,生成签名的时间戳
   nonceStr: nonceStr, // 必填,生成签名的随机串
   signature: signature, // 必填,签名,见附录1
   jsApiList: ['chooseWXPay'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
  });
  wx.ready(function () {
   wx.chooseWXPay({
    timestamp: timestamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
    nonceStr: nonceStr, // 支付签名随机串,不长于 32 位
    package: packages, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***)
    signType: signType, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'
    paySign: paySign, // 支付签名
    success: function (res) {
     // 支付成功后的回调函数
     cb(res);
    },
    fail: function (res) {
     //失败回调函数
     errorCb(res);
    }
   });
  });
  wx.error(function (res) {
   // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
   /*alert("config信息验证失败");*/
  });
 }

第三步:向后台请求数据 成功获取 转入微信支付方法 调起 微信支付

//请求后台接口获取数据 准备进行微信支付 
  that.axios.post("user/recommend", data).then(res => {
  //成功状态下 
  if (res.data.status) {
   // 存储微信支付数据data
   let data = res.data.data;
   console.log("即将跳转微信支付");
   //函数为分装过得 (就是调用微信支付)
   http.wexinPay(
   {
    appId: data.appId,
    nonceStr: data.nonceStr,
    package: data.package,
    paySign: data.paySign,
    signType: data.signType,
    timeStamp: data.timeStamp
   },
   //成功回调函数
   res => {
    that.$router.push({ path: "/vip" });
   }
   );
  } 
  else {
   that.$message.error(res.data.message);
 }
});

PS: 注意查看数据是够对应 ,后台有时候可能会把提现和支付搞混,保证数据正确性;

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

Javascript 相关文章推荐
ext 代码生成器
Aug 07 Javascript
让IE8浏览器支持function.bind()方法
Oct 16 Javascript
js实现字符串转日期格式的方法
May 20 Javascript
详解AngularJS中自定义指令的使用
Jun 17 Javascript
浅析jQuery移动开发中内联按钮和分组按钮的编写
Dec 04 Javascript
轻松搞定jQuery.noConflict()
Feb 15 Javascript
温故知新——JavaScript中的字符串连接问题最全总结(推荐)
Aug 21 Javascript
vue.js获得当前元素的文字信息方法
Mar 09 Javascript
详解angular如何调用HTML字符串的方法
Jun 30 Javascript
你或许不知道的一些npm实用技巧
Jul 04 Javascript
vue-element-admin 菜单标签失效的解决方式
Nov 12 Javascript
微信小程序实现音乐播放页面布局
Dec 11 Javascript
详解vue-property-decorator使用手册
Jul 29 #Javascript
微信小程序new Date()方法失效问题解决方法
Jul 29 #Javascript
微信小程序 WXML节点信息查询详解
Jul 29 #Javascript
微信小程序登录对接Django后端实现JWT方式验证登录详解
Jul 29 #Javascript
JavaScript HTML DOM元素 节点操作汇总
Jul 29 #Javascript
vue.js 2.0实现简单分页效果
Jul 29 #Javascript
JavaScript如何获取一个元素的样式信息
Jul 29 #Javascript
You might like
《星际争霸重制版》兵种对比图鉴
2020/03/02 星际争霸
Discuz Uchome ajaxpost小技巧
2011/01/04 PHP
ThinkPHP控制器间实现相互调用的方法
2014/10/31 PHP
PHP+Mysql+jQuery查询和列表框选择操作实例讲解
2015/10/22 PHP
PHP实现webshell扫描文件木马的方法
2017/07/31 PHP
PHP如何开启Opcache功能提升程序处理效率
2020/04/27 PHP
JS宝典学习笔记(下)
2007/01/10 Javascript
JavaScript 语言基础知识点总结(思维导图)
2013/11/10 Javascript
jquery获取URL中参数解决中文乱码问题的两种方法
2013/12/18 Javascript
WEB前端设计师常用工具集锦
2014/12/09 Javascript
jQuery的promise与deferred对象在异步回调中的作用
2016/05/03 Javascript
深入理解jquery自定义动画animate()
2016/05/24 Javascript
jquery获取复选框checkbox的值的简单实现方法
2016/05/26 Javascript
解决Vue.js 2.0 有时双向绑定img src属性失败的问题
2018/03/14 Javascript
mpvue开发音频类小程序踩坑和建议详解
2019/03/12 Javascript
新手如何快速理解js异步编程
2019/06/24 Javascript
JS实现返回上一页并刷新页面的方法分析
2019/07/16 Javascript
分享JS表单验证源码(带错误提示及密码等级)
2020/01/05 Javascript
vue 导出文件,携带请求头token操作
2020/09/10 Javascript
swiper实现导航滚动效果
2020/12/13 Javascript
[37:45]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS Orenda
2014/05/22 DOTA
[01:54]TI珍贵瞬间系列(五):压力
2020/08/29 DOTA
对django中render()与render_to_response()的区别详解
2018/10/16 Python
Python实现使用request模块下载图片demo示例
2019/05/24 Python
Python初学者常见错误详解
2019/07/02 Python
SELENIUM自动化模拟键盘快捷键操作实现解析
2019/10/28 Python
Numpy中np.max的用法及np.maximum区别
2020/11/27 Python
sort命令的作用和用法
2013/08/25 面试题
体育老师的教学自我评价分享
2013/11/19 职场文书
京剧自荐信
2014/01/26 职场文书
学生安全教育材料
2014/02/14 职场文书
最新结婚典礼主持词
2014/03/14 职场文书
导游词范文
2015/02/13 职场文书
开国大典观后感
2015/06/04 职场文书
钱学森观后感
2015/06/04 职场文书
2019个人年度目标制定攻略!
2019/07/12 职场文书