我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何进行vue项目中的支付功能实现(微信支付和支付宝支付)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何进行vue项目中的支付功能实现(微信支付和支付宝支付)

如何进行vue项目中的支付功能实现(微信支付和支付宝支付),针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

项目中常见的支付方式    

  • 支付宝支付   

  • 微信支付   

  • 余额支付(也需要支付宝或微信充值)

注意:下面仅从前端角度展开讲解

支付宝支付

项目难点:

页面是h6网页,用支付宝支付必须得到支付宝授权,调用支付宝的api。

(如何授权请参照:调用支付宝api)

支付宝支付的一般过程是:

    调用订单接口,获得订单号,支付金额等。
    传递订单号,金额 至预支付接口
    后台会返回来一个form,然后提交form自动跳转到支付宝支付页面

支付过程:

    下图为为接口文档,支付接口

如何进行vue项目中的支付功能实现(微信支付和支付宝支付)

如何进行vue项目中的支付功能实现(微信支付和支付宝支付)

    当我们选中支付宝,radio=1;
    当我们点击支付按钮,pay()方法执行
    此时我们调用后端支付接口,传入接口文档要求字段,订单号,金额等。
    后台回传给我们一个{code:201,data:""};
    此时我们把form注入到我们页面中,让form表单提交,跳转到支付宝页面

  topay(){      switch(this.radio){        case '3':        this.yuer();        break;        case '1':        this.zhifubao();        case '0':        this.getWechatCode();      }    },   zhifubao(){     payByZhifubao(       {         OutTradeNo:'Oct20200909095646265303127',//商户订单号,商户网站订单系统中唯一订单号,必填 。需要保证商户端唯一。          Subject: "手机网站支付测试",//主题          ProductCode: "QUICK_WAP_WAY",          body: "手机网站支付描述信息",//商品描述,可空          TotalAmount: 20 //付款金额,必填        }     ).then(res=>{       console.log(res);        if (res.code === 201) {            //将数据存到vuex中            // this.$store.dispatch('addAliFrom', res.data.data)            this.html = res.data;            var form = res.data;            const div = document.createElement("div");            div.innerHTML = form; //此处form就是后台返回接收到的数据            document.body.appendChild(div);            document.forms[0].submit();            //return this.$router.push('/aliPay')          } else {            return alert(res.data.msg);          }     })    },

微信支付

步骤:
微信支付后台程序员会给你返一个地址,首先我们需要安装qrcodejs2将地址转换成二维码,需要先npm install qrcodejs2
然后需要一个div来存放这个微信二维码,宽高样式各位自己可以去css里写,我在这里还加了一个loading,有需要的也可以自己加

<div id="wechatcode" v-loading="loading"element-loading-text="拼命加载中"element-loading-spinner="el-icon-loading"element-loading-background="rgba(0, 0, 0, 0.8)"></div>

导入模块

import QRCode from 'qrcodejs2' // 引入qrcode

下面是接口数据获取然后操作二维码

getWechatCode() {                Models                    .getModel("wechatpay")                    .get({                        orderId:this.orderId                    })                    .then(res => {                        if(res.data.code == 200){                            this.wechatPayUrl = res.data.resultData                            if(!this.flag){                            //重点是这里,其余的是为了我的切换业务逻辑和接口                                let wechatcode = new QRCode('wechatcode', {                                    width: 200,                                    height: 200,                                    text: this.wechatPayUrl, // 二维码地址                                    colorDark: "#000",                                    colorLight: "#fff",                                })                            }                            this.flag = true                            this.loading = false                            this.isWechatCodeShow = true                        }                    })        },

在微信扫描支付完之后,后台人员可以拿到支付成功结果,返给前台人员,那么前端人员只能不断去调接口查询是否已支付,在这里我们可以用生命周期来做轮询,在跳出之后需要销毁

mounted() {        this.getWechatCode()        //实现轮询        this.interval = window.setInterval(() => {        setTimeout(this.getOrderStatus(), 0);        }, 3000);            },    beforeDestroy() {        //清除轮询           clearInterval(this.interval)        this.interval = null    },

这里的`getOrderStatus()方法是为了查询后台支付状态的,如果成功跳转到支付页面,做个If else判断即可

关于如何进行vue项目中的支付功能实现(微信支付和支付宝支付)问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网行业资讯频道了解更多相关知识。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何进行vue项目中的支付功能实现(微信支付和支付宝支付)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何进行vue项目中的支付功能实现(微信支付和支付宝支付)

如何进行vue项目中的支付功能实现(微信支付和支付宝支付),针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。项目中常见的支付方式 支付宝支付 微信支付 余额支付(
2023-06-22

uniapp如何实现支付宝支付的功能

随着移动互联网的飞速发展,人们越来越依赖于手机支付。而支付宝是其中使用最广泛的支付方式之一。在移动应用中,如果要进行支付宝支付的功能开发,那么使用uniapp框架就是一个非常好的选择。本文将介绍uniapp如何实现支付宝支付的功能。一、准备工作在开始实现支付宝支付之前,我们需要完成一些准备工作:1.获取支付宝开放平台账号首先需要注册支付宝开放平台的账号,具体可以前往支付宝开放平
2023-05-14

支付宝、微信支付等已与银联实现互认互扫 支付行业互联互通进程加快

近一段时间,支付行业互联互通进入加速期。近期,支付宝与中国银联在全国范围实现收款码扫码互认。此外,支付宝已经与28家银行机构实现线下扫码互认。

没想到吧!Java也可以实现微信和支付宝支付功能(附代码)

申请好微信商户号appid,拿到商户id和商户秘钥,退款的话需要商户证书;2、申请好支付宝商户号appid,商户公钥和秘钥(需要用支付宝工具自己生成),支付宝退款不需要证书。

微信小程序支付功能如何实现

这篇文章主要介绍了微信小程序支付功能如何实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序支付功能如何实现文章都会有所收获,下面我们一起来看看吧。微信小程序支付功能开发文档如下:小程序端,保留大部分的
2023-06-26

Android中怎么实现微信支付功能

Android中怎么实现微信支付功能,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1. 去微信开放平台申请微信支付服务,绑定自己的应用这里具体不多讲,但是一定要申请完成,将会得
2023-05-31

如何在Python项目中利用Django框架实现一个支付宝付款功能

今天就跟大家聊聊有关如何在Python项目中利用Django框架实现一个支付宝付款功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。建立一个Django项目然后在里面创建一个应用,如
2023-06-06

Python项目实战之如何使用Django框架实现支付宝付款

这篇文章主要介绍“Python项目实战之如何使用Django框架实现支付宝付款”,在日常操作中,相信很多人在Python项目实战之如何使用Django框架实现支付宝付款问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家
2023-06-15

微信小程序中如何实现微信支付

微信支付是微信公众平台提供的一种在线支付服务,可以为用户提供快速、方便、安全的支付体验。而在微信小程序中实现微信支付,则可以为应用程序提供更多的功能和服务,提高用户体验和商业价值。因此,在本文中,我们将介绍如何在微信小程序中实现微信支付。
2023-08-16

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录