vue项目使用微信公众号支付总结及遇到的坑


Posted in Javascript onOctober 23, 2018

微信公众号支付

1. 使用jssdk调用微信支付,具体查看开发文档;

使用的vuex,在mutations中

wechatPay (state, data) {
     state.payObject = data
     console.log('微信支付开始请求')
     if (wechat) {
      wx.chooseWXPay({
       timestamp: state.payObject.timeStamp, // 支付签名时间戳
       nonceStr: state.payObject.nonceStr, // 支付签名随机串,不长于 32 位
       package: state.payObject.package, // 统一支付接口返回的prepay_id参数值
       signType: state.payObject.signType, // 签名方式使用新版支付需传入'MD5'
       paySign: state.payObject.paySign, // 支付签名
       success: function (res) {
        alert('成功')
        alert(JSON.stringify(res))
       },
       cancel: function (res) {
        alert('已取消支付')
        alert(JSON.stringify(res))
       },
       fail: function (res) {
        alert(JSON.stringify(res))
       }
      })
     }
    }

在支付页面中commit

// 存储微信支付数据data
  let data = res.body.data
  console.log('即将跳转微信支付')
  this.$store.commit({
    timeStamp: data.timeStamp,
    nonceStr: data.nonceStr,
    type: 'wechatPay',
    package: data.package,
    signType: data.signType,
    paySign: data.paySign
  })

2. 支付点击完成按钮后,前端会收到JavaScript的返回值;

3. 后台收到来自微信开放平台的支付成功回调通知

踩坑

1. chooseWXPay:fail, the permission value is offline verifying

这是因为不能在在微信开发者工具上测试,需要真机测试

2. chooseWXPay:fail

需要配置正确的支付授权目录,vue的单页应用直接配置为域名就行。

其他需要配置为调用支付的上一级目录,以/结束

3. 下单账户与支付账户不一致

需要后台看一下openId配置

总结

以上所述是小编给大家介绍的vue项目使用微信公众号支付总结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
网页中CDATA标记的说明
Sep 12 Javascript
php跨域调用json的例子
Nov 13 Javascript
JavaScript使用HTML5的window.postMessage实现跨域通信例子
Apr 11 Javascript
javascript删除元素节点removeChild()用法实例
May 26 Javascript
js正则表达式中exec用法实例
Jul 23 Javascript
javascript比较两个日期相差天数的方法
Jul 24 Javascript
Bootstrap中的表单验证插件bootstrapValidator使用方法整理(推荐)
Jun 21 Javascript
JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)
Jun 21 Javascript
详解vue之页面缓存问题(基于2.0)
Jan 10 Javascript
基于node.js之调试器详解
Aug 22 Javascript
Vue组件和Route的生命周期实例详解
Feb 10 Javascript
VUEX-action可以修改state吗
Nov 19 Javascript
jquery分页插件pagination使用教程
Oct 23 #jQuery
使用 electron 实现类似新版 QQ 的登录界面效果(阴影、背景动画、窗体3D翻转)
Oct 23 #Javascript
解决JavaScript中0.1+0.2不等于0.3问题
Oct 23 #Javascript
React 路由懒加载的几种实现方案
Oct 23 #Javascript
react 兄弟组件如何调用对方的方法示例
Oct 23 #Javascript
详解React 的几种条件渲染以及选择
Oct 23 #Javascript
详解create-react-app 2.0版本如何启用装饰器语法
Oct 23 #Javascript
You might like
PHP 验证码的实现代码
2011/07/17 PHP
php引用传值实例详解学习
2013/11/06 PHP
js replace 与replaceall实例用法详解
2013/08/03 Javascript
uploadify在Firefox下丢失session问题的解决方法
2013/08/07 Javascript
目前流行的JavaScript库的介绍及对比
2013/09/29 Javascript
jquery 选取方法都有哪些
2014/05/18 Javascript
jQuery配合coin-slider插件制作幻灯片效果的流程解析
2016/05/13 Javascript
JS实现点击事件统计的简单实例
2016/07/10 Javascript
使用nodejs下载风景壁纸
2017/02/05 NodeJs
微信小程序新增的拖动组件movable-view使用教程
2017/05/20 Javascript
React应用中使用Bootstrap的方法
2017/08/15 Javascript
jquery ztree实现右键收藏功能
2017/11/20 jQuery
浅谈在vue中用webpack打包之后运行文件的问题以及相关配置方法
2018/02/21 Javascript
JS 实现微信扫一扫功能
2018/09/14 Javascript
Vue实现的父组件向子组件传值功能示例
2019/01/19 Javascript
微信小程序开发实现的IP地址查询功能示例
2019/03/28 Javascript
解决vue项目,npm run build后,报路径错的问题
2020/08/13 Javascript
node.js通过Sequelize 连接MySQL的方法
2020/12/28 Javascript
基于Vue3.0开发轻量级手机端弹框组件V3Popup的场景分析
2020/12/30 Vue.js
python字符串替换的2种方法
2014/11/30 Python
Python爬虫包BeautifulSoup异常处理(二)
2018/06/17 Python
Python 绘制酷炫的三维图步骤详解
2019/07/12 Python
python设置随机种子实例讲解
2019/09/12 Python
python利用Excel读取和存储测试数据完成接口自动化教程
2020/04/30 Python
Python实现文件压缩和解压的示例代码
2020/08/12 Python
python 实现音频叠加的示例
2020/10/29 Python
css3圆角样式分享自定义按钮样式
2013/12/27 HTML / CSS
CSS3中几个新增加的盒模型属性使用教程
2016/03/01 HTML / CSS
Argos官网:英国家喻户晓的百货零售连锁商
2017/04/03 全球购物
SIXPAD智能健身仪英国官网:革命性的训练装备品牌
2018/09/27 全球购物
创造美妙香氛体验:Aera扩散器和香水
2018/11/25 全球购物
Fox Racing英国官网:越野摩托车和山地自行车服装
2020/02/26 全球购物
事业单位公务员的职业生涯规划
2014/01/15 职场文书
2014幼儿教师个人工作总结
2014/12/03 职场文书
百日宴上的祝酒词
2015/08/10 职场文书
HTML CSS 一个标签实现带动画的抖音LOGO
2022/04/26 HTML / CSS