首先引入微信开发文档的jssdk

https://res2.wx.qq.com/open/js/jweixin-1.6.0.js //注意必须用https,http苹果端调用会失败,安全性问题

微信公众号支付也需要用户的openid来唤醒支付,所以需要先登录,

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx520c15f417810387&redirect_uri=https%3A%2F%2Fchong.qq.com%2Fphp%2Findex.php%3Fd%3D%26c%3DwxAdapter%26m%3DmobileDeal%26showwxpaytitle%3D1%26vb2ctag%3D4_2030_5_1194_60&response_type=code&scope=snsapi_base&state=123#wechat_redirect //scope未snsapi_base 则静默登录,无需用户点击确定按钮,只能获得用户的openid,如果要获取用户的公开信息,需要更改scope为snsapi_userinfo,这时候需要用户点击同意按钮才可继续执行,可获得用户公开信息(头像,昵称等),redirect_url是登陆以后跳转的你的服务器,此地址必须为https且需要在公众号后台配置,重定向到该地址会携带code,如果使用vue的hash模式,则code会在#之前

先调用登录方法,获取code,此处为截取code值方法,将code发送给接口去获取用户的信息

export const getQueryString = (name) => {var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");var r = window.location.search.substr(1).match(reg);if (r != null) {return decodeURIComponent(r[2]);}return '';
} 

在需要用到支付的页面,也就是页面加载时侯,先去调用wx的config完成相关配置

 wx.config({debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。appId: appId, // 必填,公众号的唯一标识timeStamp: timestamp, // 必填,生成签名的时间戳nonceStr: nonce_str, // 必填,生成签名的随机串signature: signature, // 必填,签名jsApiList: ["chooseWXPay"], // 必填,需要使用的JS接口列表,此处仅用到了支付功能});

在点击支付按钮时,调用支付方法,具体代码示例如下

wx.ready(() => {
wx.chooseWXPay({timestamp: 0, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符nonceStr: '', // 支付签名随机串,不长于 32 位package: '', // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=\*\*\*)signType: '', // 微信支付V3的传入RSA,微信支付V2的传入格式与V2统一下单的签名格式保持一致paySign: '', // 支付签名success: function (res) {// 支付成功后的回调函数},fail:function(err){
//失败回调
}
});
}

微信公众号开发支付功能调用相关推荐

  1. php h5微信公众号支付接口,微信公众号H5支付接口调用方法

    本文实例为大家分享了 微信内h5调用支付接口的具体代码,供大家参考,具体内容如下 官方文档 微信公众号h5接口调用 // 判断微信版本是否在5.0以上 // window.navigator.user ...

  2. python微信公众号开发音乐功能_python利用微信公众号实现报警功能

    python利用微信公众号实现报警功能 发布时间:2020-09-23 09:54:05 来源:脚本之家 阅读:84 作者:Python火火 微信公众号共有三种,服务号.订阅号.企业号.它们在获取Ac ...

  3. 微信公众号开发相关功能

    1.controller代码 @Controller @RequestMapping("/wechat/platform") public class WechatControll ...

  4. 手把手教你如何微信公众号开发“翻译功能

    翻译,我想这个功能已经很常见了,而且很多地方都有实现了,另外,不只是翻译功能,还可以是语音翻译等等,这些都是可以实现的,所以,写这篇文章,主要是介绍如何将公开的接口进行实际的使用..授人以鱼不如授人以 ...

  5. 微信公众号开发笔记(三):微信JSAPI支付功能开发

    很久之前做了微信支付,其中也趟过很多坑,现在有时间就做个自我梳理吧算是. 公众号开发的基本配置(不明白的可以参考https://blog.csdn.net/TOP__ONE/article/detai ...

  6. 关于微信公众号jsapi支付传值的问题

    刚开始接触微信公众号没有多久,只是做了一些简单的操作,如页面显示,近期,需要做一个微信公众号的支付功能,对于小白的我是很痛苦的,忍着痛,勇敢的往上爬. 首先上网查资料,找demo,之前几天一直没有信心 ...

  7. 微信公众号开发中遇到的问题——支付(二)

    第一次开发微信公众号,也是第一次接触微信公众号的支付,我使用的是jssdk,用h5页面调用的支付,后台使用的是java.首先声明,我不是一个愤世嫉俗的人,也不喜欢吐槽,我认为别人提供接口就已经很不错了 ...

  8. 【微信公众号开发】八、微信JS发起支付

    重要声明:本文章仅仅代表了作者个人对此观点的理解和表述.读者请查阅时持自己的意见进行讨论. 目录 本系列博文还包含了下面的博客: [微信公众号开发]一.运作及配置流程简介 [微信公众号开发]二.解析微 ...

  9. 实例:用C#.NET手把手教你做微信公众号开发(20)--使用微信支付线上收款:jsapi方式

    在做线上.线下销售时,可以使用微信便捷支付,通过微信公众号收款有很多种收款方式,如下图: 今天我们来讲一下jsapi支付,场景就是在微信内打开某个页面,完成在线支付,同样一个网页,使用微信打开就是js ...

  10. 实例:用C#.NET手把手教你做微信公众号开发(21)--使用微信支付线上收款:H5方式

    在做线上.线下销售时,可以使用微信便捷支付,通过微信公众号收款有很多种收款方式,如下图: 今天我们来讲一下H5场景支付,使用手机浏览器打开就是H5方式,最常见的推广是短信内置链接,这种场景需要调用微信 ...

最新文章

  1. C语言数组知识体系整理大学霸IT达人
  2. CRM呼叫中心里的Java stack
  3. 使用jRebel在IntelliJ IDEA 中进行 Java 热部署
  4. dbcc dbreindex server sql_SQL Server性能的提高,可通过DBCC DBREINDEX重建索引
  5. 推荐21个顶级的Vue UI库!
  6. 笔记系列------sqlloader的使用
  7. 如何用计算机给机顶盒刷机,如何利用sd卡刷机 电视盒子通用刷机方法
  8. Android移动应用开发入门
  9. Windows密码设置及破解
  10. Redis解决高并发问题
  11. java 快速判断对象是否为null的快捷方法
  12. FZU1892接水管游戏-BFS加上简单的状态压缩和位运算处理
  13. 关于逆序的一些基本操作
  14. Android第三方库
  15. 【adb】cmd命令行输入adb时始终提示adb为非内部命令
  16. pandas取出符合条件的某单元格的值
  17. 高效程序猿的狂暴之路
  18. sql语句-create table XXX select 和 insert into XXX select 语句的使用
  19. UltraEdit 快捷键操作
  20. Java:图形界面实现桌面数字时钟

热门文章

  1. PTA2-6 打印学生选课清单(15 分)
  2. Transformer——理论篇
  3. duilib列表list使用方法
  4. 小学数学计算机按键名称,数学计算器
  5. H5制作哪家强?四大H5页面制作工具大比拼
  6. 雷霄骅《基于 FFmpeg + SDL 的视频播放器的制作》源码在VS2017中编译的兼容性问题
  7. spring实战(第四版)读书笔记 附电子书网盘链接
  8. C语言中的volatile三种作用,volatile关键字在嵌入式C语言中的使用
  9. Ubuntu下VScode代码字体设置——monospace(等宽字体)
  10. html中居中方法,HTML中5种常见的居中方法