当前位置: 首页 > news >正文

vue项目使用微信公众号支付

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配置复制代码


相关文章:

  • 你连这10个工具都不知道,还是程序员?
  • DDL语言
  • BZOJ 1568: [JSOI2008]Blue Mary开公司
  • Ubuntu 16.04 下 安装go
  • PHP CLI应用的调试原理
  • springboot入门_email
  • Python MetaClass深入分析
  • Python中常见的字符串的操作方法:
  • 记录LNMP多主机架构Wordpress博客实施过程中的一些坑
  • 表单提交时问题总结
  • iOS:The operation couldn’t be completed. (DVTCoreSimulatorAdditionsErrorDomain error 0.)
  • python关于标识符说明
  • 类的自动加载
  • 【DP复习】背包 ovo
  • CSS3 Transform变形(3D转换)
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • PaddlePaddle-GitHub的正确打开姿势
  • Python实现BT种子转化为磁力链接【实战】
  • Spring Cloud中负载均衡器概览
  • ubuntu 下nginx安装 并支持https协议
  • Vue官网教程学习过程中值得记录的一些事情
  • Webpack 4x 之路 ( 四 )
  • 从tcpdump抓包看TCP/IP协议
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 双管齐下,VMware的容器新战略
  • # .NET Framework中使用命名管道进行进程间通信
  • ###项目技术发展史
  • #etcd#安装时出错
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (libusb) usb口自动刷新
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (六)Hibernate的二级缓存
  • (推荐)叮当——中文语音对话机器人
  • (五)关系数据库标准语言SQL
  • (一)kafka实战——kafka源码编译启动
  • .apk 成为历史!
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
  • @column注解_MyBatis注解开发 -MyBatis(15)
  • @Transactional类内部访问失效原因详解
  • [ vulhub漏洞复现篇 ] Apache APISIX 默认密钥漏洞 CVE-2020-13945
  • [2023-年度总结]凡是过往,皆为序章
  • [acm算法学习] 后缀数组SA
  • [AMQP Connection 127.0.0.1:5672] An unexpected connection driver error occured
  • [BROADCASTING]tensor的扩散机制
  • [C#]使用PaddleInference图片旋转四种角度检测
  • [C++]类和对象【下】
  • [CareerCup] 17.8 Contiguous Sequence with Largest Sum 连续子序列之和最大
  • [GXYCTF2019]禁止套娃
  • [iOS]随机生成UUID通用唯一识别码
  • [Java、Android面试]_05_内存泄漏和内存溢出
  • [JavaEE]线程的状态与安全