前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >web app 中如何调用支付宝app 进行支付

web app 中如何调用支付宝app 进行支付

作者头像
用户9914333
发布2022-07-22 14:00:19
1.2K0
发布2022-07-22 14:00:19
举报
文章被收录于专栏:bug收集

项目是vue+vant框架写的前端页面,利用HbuilderX将项目打包成APP的。 在应用里调用支付宝APP进行支付的时候,需要用到html5plus函数里面的payment属性。 首先看看HTML5+是什么?

HTML5+是中国HTML5产业联盟的扩展规范,基于HTML5扩展了大量调用设备的能力,是的web语言可以像原生语言一样强大!

如何使用原生APP中调起支付宝APP的功能呢?

具体操作步骤:

1、在需要调用该属性的组件里,先定义plusReady方法:

代码语言:javascript
复制
    plusReady () {
        // debugger
        var ws = window.plus.webview.currentWebview(); 
        //pw回车可输出plus.webview
        console.log("hello plus");
      },

2、然后在created生命周期里调用该方法:

代码语言:javascript
复制
created () {
      // 扩展API是否准备好,如果没有则监听“plusready"事件
      if (window.plus) {
        this.plusReady()
      } else {
        document.addEventListener('plusready', this.plusReady, false)
      }
    },

3、在确认支付的点击事件里,通过HTML5plus的payment属性getChannels方法获取支付通道,在获取支付通道成功的回调函数里,通过request方法请求支付

代码语言:javascript
复制
 var channel=null;
 var that = this;
 plus.payment.getChannels(
 function (channels) {
   channel=channels[0];
   //发起支付请求
   plus.payment.request(channel,res.data.message,function (res) {
 that.$toast("支付成功");
   },function (error) {
 that.$toast("支付失败");
   })
 },function (e) {
   that.$toast("获取支付通道失败");
 }
 )

4、plus在浏览器里会报‘plus is not defined’的错误,那是因为plus函数是h5页面与APP通信的桥,只能在移动终端运行。所以,需要通过HuilderX将vue项目打包成APP。

打包的时候,配置mainifest.json文件时,注意要在模块配置中勾选payment,然后云打包成安卓apk就可以了。 HbuilderX中的配置(点击"阅读原文",查看链接) 至此,真机运行已经能够成功调起支付宝并实现支付功能。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 bug收集 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档