H5在微信环境调用微信支付
这里用的是vue
项目;
首先在mounted
中判断是否有openId,如果没有,则去获取
let openid = localStorage.getItem('openid');if (!openid || openid == 'null' || openid == 'undefined') {this.getWechatOauth();
}
//获取微信openIdasync getWechatOauth() {const code = this.GetQueryString('code') //获取codelet local = window.location.href; //获取当前路由 ----------- 这个路由需要至少在test的环境,并且被添加在appId对应的公众号中if(!code) { //在当前路由中获取不到codeconst APPID = process.env.VUE_APP_BASE_WECHAT_APPID//scope=snsapi_base snsapi_base-不弹出授权页面,直接跳转,只能获取用户openid; snsapi_userinfo-弹出授权页面,可通过openid拿到昵称、性别、所在地window.location.href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' + APPID + '&redirect_uri=' + encodeURIComponent(local) + '&response_type=code&scope=snsapi_base#wechat_redirect'}else { //获取到code,继续获取openIdthis.wechatOauth(code)}},//微信授权async wechatOauth(code){// 通过后端提供的接口,获取openId,wechatOauth({code:code}).then(res => {localStorage.setItem('openid', res.id);})}
//从路由中获取codeGetQueryString (name) {const reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");const r = window.location.search.substr(1).match(reg);if (r != null) return unescape(r[2]);return null;},
以上内容最好在进入页面是获取到,也可以在调起支付前完成,看心情,推荐进入页面获取
// 获取到openId之后,调起支付时调用该方法
onBridge() {let { appid, nonce_str, sign, prepay_id, timestamp } = this.charge; //这里面的参数是调用支付的必要参数,如果可以的话可以让后端统一返回let _this = this;WeixinJSBridge.invoke("getBrandWCPayRequest", _this.charge,wxResponse => {if (wxResponse.err_msg == "get_brand_wcpay_request:ok") {Toast('支付成功');this.$router.replace({path:'成功后跳转的页面',query:{'参数'}})}if (wxResponse.err_msg == "get_brand_wcpay_request:fail") {Toast.fail('支付失败');}if (wxResponse.err_msg == "get_brand_wcpay_request:cancel") {Toast.fail('支付取消');}});},
H5在微信环境调用微信支付相关推荐
- html页面调用微信扫一扫功能,微信JSSDK调用微信扫一扫功能的方法
如何利用微信jssdk调用微信扫一扫功能?具体内容如下 1. 确保有 调起微信扫一扫接口 权限,测试号可能不行: 2. 导入相关js 3. 页面触发扫码元素 4. 相关js代码 var _appid ...
- 微信开发 --- 调用微信上传图片接口,并保存到自己的服务器
微信开发 - 调用微信上传图片接口,并保存到自己的服务器 整体思路是这样的: 1.先把手机上的图片上传到微信服务器,然后返回一个图片ID 2.在通过后台根据ID从微信后台拿到流,保存到服务器 前几个步 ...
- php调用微信扫一扫功能,微信JSSDK调用微信扫一扫功能的方法
如何利用微信JSSDK调用微信扫一扫功能?具体内容如下 1. 确保有 调起微信扫一扫接口 权限,测试号可能不行: 2. 导入相关JS 3. 页面触发扫码元素 4. 相关JS代码 var _appId ...
- .NET微信网页开发之使用微信JS-SDK调用微信扫一扫功能
前言: 之前有个项目需要调用微信扫描二维码的功能,通过调用微信扫码二维码功能,然后去获取到系统中生成的二维码信息.正好微信JS-SDK提供了调用微信扫一扫的功能接口,下面让我们来看看是如何实现的吧. ...
- 微信JS-SDK调用微信接口方法说明
微信公众平台 微信JS-SDK说明文档 地址:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115 概述 微信JS ...
- python微信api_Python调用微信公众平台接口操作示例
本文实例讲述了Python调用微信公众平台接口操作.分享给大家供大家参考,具体如下: 这里使用的是Django,其他类似 # coding=utf-8 from django.http import ...
- 简单粗暴教你在VUE中引入微信SDK 调用微信分享、朋友圈分享、QQ分享......
写在前面: 刚做了一个微信端的网页,用到了微信分享,在网上看了好多的资料,发现好多文档都写得云里雾里,让人看的头疼.通过对很多大佬文章的综合整理,才完成了微信分享的部分.所以我想着自己写一篇文章,能让 ...
- java调用微信_java调用微信公众平台接口(一)
微信公众平台 这两天在网上看了其他的方法,也调试了一些,然后自己整理了一下,方便自己学习,也方便大家使用. 调用接口 1.java调用上传图片接口 public final static String ...
- 使用支付宝开放平台沙盒环境调用支付宝支付接口
这一段时间一直想搞个支付的小demo,碰巧最近狂神的 kuangstudy 出了一期支付宝支付的教程,我立马就买了课程,但是当我看到一半的时候发现只有企业才能调用,心想完蛋了,搞不成了.就在我万念俱灰 ...
最新文章
- python 入门笔记
- 主梁弹性模量计算_收藏 | 钢结构计算公式
- 【信息抽取】如何使用BERT进行关系抽取
- java 重复提交_java解决重复提交表单
- 通过人与人的交互,反思软件系统与软件系统之间的集成交互问题
- 产品运营 跨境支付_餐饮网店的运营 跨境支付哪个平台最好
- css元素隐藏不可获取,Css隐藏元素(display,visibility)的区别
- postgresql 字符串拼接||“的使用
- python文字处理dummy_python中multiprocessing、multiprocessing.dummy和threading用法笔记
- Qt实践录:TCP网络调试助手
- 一张图带你看懂 ,web前端开发应该知道的HTML5六大趋势
- UFLDL深度学习笔记 (四)用于分类的深度网络
- springmvc获取url对应的controller,并拦截记录每次访问的controller方法
- [swift 进阶]读书笔记-第一章:介绍、第二章(C2P2):第二章:内建集合类型
- 三极管作开关应用及详解
- 【HTML 教程系列第 9 篇】什么是 HTML 中的换行标签 br
- 2022-2027年中国番茄酱行业市场全景评估及发展战略规划报告
- 移动端300ms延迟_移动端300ms延迟原因及解决方案
- LinuxStudyNote(39)-Linux软件包管理(1)-Linux软件包简介之源码包与RPM包、源码包的优缺点、RPM二进制包的优缺点
- 大家好!我是刘伦斯,一个喜欢书法、摄影的计算机童鞋
热门文章
- 微信小程序中wxml和wxss的样式说明,彻底搞定布局排版
- 如何搭建好的数据指标体系?
- JAVA程序员技术栈、业务栈、工具栈
- 没用过这些IDEA插件?怪不得写代码头疼
- 普通键盘这么修改就和mac一样的键盘
- 卷积-CNN-GCN-LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation论文笔记
- 论文翻译解读:Efficient estimation of word representations in vector space【Word2Vec】
- 哈尔滨工业大学提出 RISTDnet:强鲁棒性的红外小目标检测网络
- 电子计算机怎么玩游戏,怎样配置最适合自己的电脑,我是学应用电子技术的。我不玩游戏?...
- cadence——基本操作5