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 相关文章推荐
jQuery 使用手册(五)
Sep 23 Javascript
基于jquery循环map功能的代码
Feb 26 Javascript
JS判断表单输入是否为空(示例代码)
Dec 23 Javascript
ext中store.load跟store.reload的区别示例介绍
Jun 17 Javascript
JS基于cookie实现来宾统计记录访客信息的方法
Aug 04 Javascript
js实现简洁大方的二级下拉菜单效果代码
Sep 01 Javascript
JS弹性运动实现方法分析
Dec 15 Javascript
jQuery实现大图轮播
Feb 13 Javascript
jQuery实现广告条滚动效果
Aug 22 jQuery
VS Code转换大小写、修改选中文字或代码颜色的方法
Dec 15 Javascript
JavaScript数据结构与算法之二叉树插入节点、生成二叉树示例
Feb 21 Javascript
vue制作抓娃娃机的示例代码
Apr 17 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
php开发工具之vs2005图解
2008/01/12 PHP
sqlyog 中文乱码问题的设置方法
2008/10/19 PHP
让CodeIgniter的ellipsize()支持中文截断的方法
2014/06/12 PHP
PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别
2016/01/27 PHP
Redis使用Eval多个键值自增的操作实例
2016/11/04 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
PHP7 弃用功能
2021/03/09 PHP
基于jquery的滚动鼠标放大缩小图片效果
2011/10/27 Javascript
nullJavascript中创建对象的五种方法实例
2013/05/07 Javascript
JavaScript中的正则表达式简明总结
2014/04/04 Javascript
jQuery实现的网页竖向菜单效果代码
2015/08/26 Javascript
AngularJS基础教程之简单介绍
2015/09/27 Javascript
基于jQuery仿淘宝产品图片放大镜特效
2020/10/19 Javascript
JS实用的带停顿的逐行文本循环滚动效果实例
2016/11/23 Javascript
JavaScript基于replace+正则实现ES6的字符串模版功能
2017/04/25 Javascript
vue高德地图之玩转周边
2017/06/16 Javascript
Vue.js 利用v-for中的index值实现隔行变色
2018/08/01 Javascript
深入理解Promise.all
2018/08/08 Javascript
JS尾递归的实现方法及代码优化技巧
2019/01/19 Javascript
微信小程序实现获取用户信息并存入数据库操作示例
2019/05/07 Javascript
vue-父子组件和ref实例详解
2019/11/10 Javascript
JS eval代码快速解密实例解析
2020/04/23 Javascript
js+css3实现简单时钟特效
2020/09/13 Javascript
全网小程序接口请求封装实例代码
2020/11/06 Javascript
[02:41]2015国际邀请赛中国区预选赛观战指南
2015/05/20 DOTA
Python的设计模式编程入门指南
2015/04/02 Python
Python闭包之返回函数的函数用法示例
2018/01/27 Python
webapp字号大小跟随系统字号大小缩放的示例代码
2018/12/26 HTML / CSS
美国婴童服装市场上的领先品牌:Carter’s
2018/02/08 全球购物
Tiqets英国:智能手机上的文化和娱乐门票
2019/07/10 全球购物
房屋租赁意向书
2014/04/01 职场文书
宾馆仓管员岗位职责
2014/07/27 职场文书
物流专业专科生职业生涯规划书
2014/09/14 职场文书
领导党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
基层党支部整改方案
2014/10/25 职场文书
如何用threejs实现实时多边形折射
2021/05/07 Javascript