详解nuxt 微信公众号支付遇到的问题与解决


Posted in Javascript onAugust 26, 2019

背景:nuxt为默认的history模式,用这个npm 支付weixin-js-sdk,开启debug模式,尽量在ios下调试,因为alert弹窗的信息会更多。

async onPay (config) {
 try {
 const wxUrl = window.location.href//分享的路径
 const res = await $axios.$get("")//获取配置sdk参数,包括微信分享的参数
 if (res.status === 0) {
  const {data} = res
  wx.config({
  debug: true,
  appId: data.appId,
  timestamp: data.timestamp,
  nonceStr: data.nonceStr,
  signature: data.signature,
  jsApiList: ['chooseWXPay']
  })

  wx.ready(function () {
  wx.checkJsApi({
   jsApiList: ['chooseWXPay'],
   success: (res) => {
   wx.chooseWXPay({
    timestamp: config.timestamp,
    nonceStr: config.nonceStr, 
    package: config.package, 
    signType: config.signType, 
    paySign: config.paySign, // 支付签名
    success: function (res) {
    },
    cancel: function (res) {
    // 支付取消的回调函数
    },
    error: function (res) {
    // 支付失败的回调函数
    }
   })
   }
  })

  })

 }
 } catch (e) {
 throw e
 }
}

1、微信调起支付loading又立刻关闭,并提示:当前页面的url未注册:https://xxx/xx/xx/

补充:由于支付路径太深,ios下,提示支付路径未注册出现了各种情况。甚至出现只有我一个人可以调起支付,其他人测试都不行的情况。

原因:这是因为微信获取支付路径的时候,在ios与安卓下是不同的,对于spa应用来说,首先我们把我们从微信别的地方点击链接呼出微信浏览器时所落在的页面、或者点击微信浏览器的刷新按钮时所刷新的页面,我们叫做落地页。问题来了,在ios和安卓下呼出微信支付的时候,微信支付判断当前路径ios为落地页,安卓则为正常的当前页面的路径。

解决支付路径app不统一:用window.location.href 的方式跳转至支付页

微信获取支付路径的方式:以url最后一个/为准,获取/之前的路径。

支付路径例子:例如我们后台配置的支付的路径为

https://域名/项目名/(可能有多级目录)/pay/

那么就会匹配

https://域名/项目名/(可能有多级目录)/pay/?xxxxxxxxxxxxxxxxxx

注意pay支付路径后的/一定要加。因为我们做路由跳转很可能是这种形式

https://域名/项目名/(可能有多级目录)/pay?xxxxxxxxxxxxxxxxxx //错误,'?'前没有'/',会匹配不到正确的路径。

2、微信调起支付loading又直接关闭,提示,订单已过期。

解决:这个是服务器那边的问题,后端直接设置了固定的订单时间以跳过支付环节。

3、sdk中wx.config中的参数。

事实上,我们并不需要额外的请求wx.config的参数,因为支付接口返回的支付参数已经有了所有的config参数,除了signature这个加密签名字段,在支付参数中对应的加密签名是paysign这个字段,事实上直接用paysign作为signature的值也是没有问题的。wx.config的参数差别是分享的时候。需要额外的分享的路径url

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

Javascript 相关文章推荐
面向对象的Javascript之一(初识Javascript)
Jan 20 Javascript
JQuery操作表格(隔行着色,高亮显示,筛选数据)
Feb 23 Javascript
ExtJS4中使用mixins实现多继承示例
Dec 03 Javascript
Jquery焦点与失去焦点示例应用
Jun 10 Javascript
JavaScript获取网页支持表单字符集的方法
Apr 02 Javascript
IE11下使用canvas.toDataURL报SecurityError错误的解决方法
Nov 19 Javascript
除Console.log()外更多的Javascript调试命令
Jan 24 Javascript
JavaScript面向对象的程序设计(犯迷糊的小羊)
May 27 Javascript
浅谈node中的cluster集群
Jun 02 Javascript
vue弹窗组件的实现示例代码
Sep 10 Javascript
Vue3.0数据响应式原理详解
Oct 09 Javascript
浅谈Vue的computed计算属性
Mar 21 Vue.js
Vue路由之JWT身份认证的实现方法
Aug 26 #Javascript
Vue中跨域及打包部署到nginx跨域设置方法
Aug 26 #Javascript
js实现跟随鼠标移动的小球
Aug 26 #Javascript
vue 源码解析之虚拟Dom-render
Aug 26 #Javascript
Node.js爬虫如何获取天气和每日问候详解
Aug 26 #Javascript
vue移动端实现手机左右滑动入场动画
Jun 17 #Javascript
详解vuex数据传输的两种方式及this.$store undefined的解决办法
Aug 26 #Javascript
You might like
php实现图片上传并进行替换操作
2016/03/15 PHP
IE下写xml文件的两种方式(fso/saveAs)
2013/08/05 Javascript
jquery html动态生成select标签出问题的解决方法
2013/11/20 Javascript
jquery实现侧边弹出的垂直导航
2014/12/09 Javascript
javascript时间排序算法实现活动秒杀倒计时效果
2021/01/28 Javascript
Bootstrap每天必学之标签页(Tab)插件
2020/08/09 Javascript
JavaScript的MVVM库Vue.js入门学习笔记
2016/05/03 Javascript
AngularJS基础 ng-cloak 指令简单示例
2016/08/01 Javascript
教你如何在Node.js中使用jQuery
2016/08/28 Javascript
图文详解Javascript中的上下文和作用域
2017/02/15 Javascript
JavaScript html5 canvas实现图片上画超链接
2017/10/20 Javascript
Angular中点击li标签实现更改颜色的核心代码
2017/12/08 Javascript
vuejs前后端数据交互之从后端请求数据的实例
2018/08/11 Javascript
[00:50]2014DOTA2国际邀请赛 NEWBEE战队回顾
2014/08/01 DOTA
跟老齐学Python之赋值,简单也不简单
2014/09/24 Python
Python HTTP客户端自定义Cookie实现实例
2017/04/28 Python
Python实现爬取需要登录的网站完整示例
2017/08/19 Python
python出现"IndentationError: unexpected indent"错误解决办法
2017/10/15 Python
python smtplib模块自动收发邮件功能(一)
2018/05/22 Python
Python2和Python3的共存和切换使用
2019/04/12 Python
Python错误的处理方法
2020/06/23 Python
pycharm 实现调试窗口恢复
2021/02/05 Python
CSS3提交意见输入框样式代码
2014/10/30 HTML / CSS
html5实现图片转圈的动画效果——让页面动起来
2017/10/16 HTML / CSS
Html5移动端适配IphoneX等机型的方法
2019/06/25 HTML / CSS
LN-CC美国:伦敦时尚生活的缩影
2019/02/19 全球购物
如何高效率的查找一个月以内的数据
2012/04/15 面试题
公务员的自我鉴定
2013/10/26 职场文书
小学门卫岗位职责
2013/12/17 职场文书
节约能源标语
2014/06/17 职场文书
纪检干部个人对照检查材料
2014/09/23 职场文书
2015年感恩母亲节的演讲稿
2015/03/18 职场文书
阿凡达观后感
2015/06/10 职场文书
小学四年级班务总结该怎么写?
2019/08/16 职场文书
导游词之上海东方明珠塔
2019/09/25 职场文书
2019年中学生的思想品德评语集锦
2019/12/19 职场文书