vue微信公众号项目中调起微信支付并发起支付的流程

首先在public文件夹下的index.html引入微信JS-SDK
<script src="http://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>

废话不多说直接上代码

// 定义微信支付代码,下面直接调用
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: "xxxxxxxxxxxx", // 必填,公众号的唯一标识timestamp: timestamp, // 必填,生成签名的时间戳nonceStr: nonceStr, // 必填,生成签名的随机串signature: signature, // 必填,签名,见附录1jsApiList: ["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信息验证失败");});},
// 请求接口 拿到注入信息
// 实际项目中可能会对axios api进行二次封装,这里就不多做处理了axios.post("xxxxxx", {xxxxx: "",xxxxx: "",}).then((res) => {console.log(res.data);if (res.data.ret == "ok") {let data = res.data.object;// 这里传入参数this.wexinPay({appId: data.appId,nonceStr: data.nonceStr,package: data.package,paySign: data.paySign,signType: data.signType,timeStamp: data.timeStamp,},//成功回调函数(res) => {this.$toast("支付成功");this.$router.push("/home");});} else {this.$toast(res.data.msg);}});

关于微信公众号调起支付相关推荐

  1. PHP 支付PC端扫码支付、APP接口调起支付宝支付、微信公众号接入支付宝支付

    第一:第三方支付原理 第二:支付接口申请流程 地址:https://docs.open.alipay.com/270/105899/ : 参考地址:https://blog.csdn.net/nove ...

  2. 微信公众号:支付宝支付

    微信公众号:支付宝支付 微信公众号:支付宝支付 由于支付宝月微信是两个对立的企业,支付宝想介入微信的充值,微信发现就将其规避,在支付宝与微信博弈的过程中,双方一直是处于你争我赶的地步. 微信公众号接入 ...

  3. php 微信支付闪了一下,php,_微信公众号JS API支付,安卓没有效果(会闪一下就消失了),php - phpStudy...

    微信公众号JS API支付,安卓没有效果(会闪一下就消失了) 代码如下,ios可以支付,但是到安卓手机上就会出现微信支付读条(那三个点),然后就消失了,没有跳出输入密码支付的界面.... //调用微信 ...

  4. 微信公众号接入H5支付

    一.概述 1.H5支付是指商户在微信客户端外的移动端网页展示商品或服务,用户在前述页面确认使用微信支付时,商户发起本服务呼起微信客户端进行支付.主要用于触屏版的手机浏览器请求微信支付的场景.可以方便的 ...

  5. vue 微信公众号的H5支付

    在微信浏览器里面打开H5网页中执行JS调起支付, 详细信息请参照微信JSAPI支付文档说明: https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chap ...

  6. 微信公众号授权,支付,退款总结

    经过两周的研究,终于又把微信支付也搞定了.作为一个技术人员就应该有总结思考的习惯.这里将自己做微信踩过的一些坑,以及自己的思考记录下来,希望能帮助各位和我一样做微信支付的小伙伴. 1.支付前准备 1. ...

  7. 微信公众号H5页面支付JSAPI

    1:在微信环境下,我们需要获取到code,拿code去获取openid,在获取openid的时候有2种参数分别是:snsapi_base和snsapi_userinfo,snsapi_base只为获取 ...

  8. php 微信公众号接入支付宝支付

    真是无力吐槽这个需求了,好端端的非要在微信公众号接入支付宝,都知道微信公众号是拒绝支付宝的,屏蔽了支付宝,所以在微信公众号接入支付宝的话就必须手动复制链接跳出微信内置浏览器,强制性打开web浏览器完成 ...

  9. 微信公众号认证及支付开通流程

    记录一下公众号认证以及支付开通流程··· 微信认证流程官方链接==> http://kf.qq.com/product/weixinmp.html#hid=97 支付开通流程==> htt ...

最新文章

  1. NLP专题论文解读:从Chatbot、NER到QA系统...
  2. 淘宝旺铺基础版装修出专业版效果(不花钱也一样做到)
  3. Python 中文编码
  4. maven 遇到failOnMissingWebXml有关问题解决方法
  5. YUI事件体系之Y.EventTarget
  6. vsftpd的主配置文件是什么linux,vsftpd.conf配置文件详解
  7. Python学习入门2:Python学习路线(课程大纲+Python视频教程+下载地址)
  8. [BZOJ1030] [JSOI2007] 文本生成器 (AC自动机 dp)
  9. LeetCode刷题(19)
  10. 从头来之【iOS及历史版本特性介绍】
  11. php字符串怎么判断是否相等,php判断两个字符串是否相等
  12. 基于IDEA 最新Spirng3.2+hibernate4+struts2.3 全注解配置 登录
  13. jdbc 事务没有回滚_《Spring Cloud Alibaba》微服务搭建之Seata分布式事务quot;发现问题quot;(十四)...
  14. MySQL第七章之后的
  15. 保持精力充沛工作的14个习惯
  16. 后缀自动机+循环同构[Cyclical Quest]
  17. 谁说NTFS不支持UEFI启动的?启动U盘放不了超过4G的文件怎么办?Server2016 Win10 U盘UEFI启动制作方法
  18. EXCEL表格-系统时间及进度自动记录工具制作
  19. 人事面试100问(3)
  20. ChatGPT不止是对话机器人

热门文章

  1. java ftp删除_java ftp实现文件上传和删除
  2. 【华为云技术分享】华为云弹性云服务器ECS搭建FTP服务实践
  3. 【Hive】(九)Hive 窗口函数总结
  4. macOS 安装 python
  5. fprintf与fscanf
  6. C++取整,四舍五入
  7. 学子随感——遇见长郡浏阳(1)
  8. JAVA操作pdf——创建表格
  9. 2019 最全神经网络结构图画图工具介绍,没有之一!
  10. mysql where 位子,mysql中 地里位置搜索 (抄)