支付分为前端发起支付,和后端发起支付两种方式

1.在前端发起支付,uniapp给我们提供好了,可以使用的api接口。

uni.requestPayment({provider: 'alipay',orderInfo: 'orderInfo', //微信、支付宝订单数据success: function (res) {console.log('success:' + JSON.stringify(res));},fail: function (err) {console.log('fail:' + JSON.stringify(err));}
});

具体使用方式请查看官方文档

2.后端发起支付
我们调用后端的接口,后端负责对接支付宝,或者微信的支付接口。基本支付宝和微信返回都是一个form表单,在h5端可以直接使用v-html表单form表单,但是这种方式不能在app中使用。我们要借助web-view实现。

web-view 是一个 web 浏览器组件,可以用来承载网页的容器,会自动铺满整个页面(nvue 使用需要手动指定宽高)。

//点击支付的时候,后端返回一个嵌套支付宝或者微信返回的form表单的一个html,把这个url赋值到web-view中
<web-view v-if="url.length > 0" :src="url"></web-view>

我们如何判断用户的支付结果呢,因为是后端对接的支付宝或者微信的支付接口,返回接口只有后端能监控到。

//1.这里我们可以轮询查询后台接口,进而判断用户的支付结果(这种比较消耗服务器的性能)
//2.借助用web-view,后端监控到支付结果,返回一个html网页。(我们需要从web-view里面返回到自己的app,序需要用到web-vie和uniapp通讯)
//在返回的html中引入uniapp的js文件
<script type="text/javascript" src="https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js"></script>
//监听到uniapp的js文件引入成功了,引导用户返回app
document.addEventListener('UniAppJSBridgeReady', function() {let data = GetRequest()document.querySelector('.btn-list').addEventListener('click', function(evt) { //跳转到支付成功或者失败的结果页面。uni.navigateTo({url: '/pages/orderDetail/orderDetail?orderId=' +  data.out_trade_no})});  });

最后说明:这只是本人自己的一些见解,有不足的地方,欢迎大家前来指正。

uniapp中唤醒支付宝,微信进行支付并返回app相关推荐

  1. XZ_iOS 之WKWebView H5吊起微信客户端支付并返回APP

    我们使用的是WKWebView,在下面方法做的一系列的操作 func webView(_ webView: WKWebView, didStartProvisionalNavigation navig ...

  2. ios支付宝支付失败不回调_iOS支付宝H5支付无法返回APP解决方案

    本文只讨论你已经成功实现客户端->支付宝支付流程,仅仅是支付完成后无法返回自己的APP的问题. 如果你的支付流程是客户端->Safari->支付宝不在本文讨论范围之类. iOS支付宝 ...

  3. uniapp中h5网页微信公众号授权

    uniapp微信网页授权 uniapp中h5网页微信公众号授权 主要代码 获取code返回的code截取代码 uniapp中h5网页微信公众号授权 微信官方文档–>网页授权 uniapp中h5网 ...

  4. php h5支付没有返回app中,很多人都不知道的监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法...

    在实际的应用中,我们常常需要实现在移动app和浏览器中点击返回.后退.上一页等按钮实现自己的关闭页面.调整到指定页面或执行一些其它操作的 需求,那在代码中怎样监听当点击微信.支付宝.百度糯米.百度钱包 ...

  5. Android支付宝,微信,银联支付支付的集成

    移动支付 用户使用移动的终端完成对所购买商品或者服务的支付功能;分为近场支付(蓝牙支付,刷卡,滴卡),和远程支付(网上支付,短信支付) app支付模块 常见的支付厂商-->常见的支付方式 支付宝 ...

  6. iOS H5 调用微信、支付宝支付无法返回app 解决方案

    最新项目中遇到H5页面中调用微信.支付宝客户端支付的需求,虽然这并不是推荐的做法,但是需求确实存在...加载h5页面点击支付调起需要支付的客户端(微信或者支付宝). 微信支付解决方案: 1.首先要设置 ...

  7. Android 支付宝 微信 银联 支付

    补充技术:现在很多支付平台,那么就需要有一个统一的平台进行支付的封装,那就是PING++有兴趣的朋友可以自己看一下. 一.支付难不难,不难,都是属于第三方的东西,难度不大. 二.支付是安全的,因为都是 ...

  8. js获取微信状态栏高度_人人商城打包app教程 方法 hbuilder打包支持支付宝微信原生支付...

    使用hbuilder打包人人商城app 方法支持微信支付宝原生支付 介绍 人人商城打包使用hbuilder打包app需要的文件,目前支持微信原生支付,支付宝原生支付,原生退出app ,还没有写分享和原 ...

  9. 推行法定数字货币,现有支付宝/微信等支付系统,会否被数字货币支付系统替代并超越?

    答案却恰恰相反,支付宝和微信等移动支付会越来越好! 央行即将推出的数字货币系统,是在纸币体系上建立的更高新技术的一种应用:而支付宝和微信是一种移动支付工具,一定也会随着国家政策的变化提升自身的区块链技 ...

最新文章

  1. 【cocos2d-x 手游研发----地图活起来了】
  2. 博客开源系统(待续......)
  3. 一鼓作气 博客--第六篇 note6
  4. 50K求聘.NET,我们是认真的!
  5. 四参数坐标转换c++_GPSRTK坐标转换及四参数、七参数适用条件
  6. 前端学习(3081):vue+element今日头条管理-创建页面组件并加载
  7. 区块链制作的比特币的缺陷
  8. 【OpenCV】重映射及仿射变换
  9. 已修复的bug: 简书文章长标题换行异常,标题配图异常,首页配图异常
  10. android的opengl教程,android opengl 教程
  11. Xshell v5.0 Build 0983 绿色版本
  12. 基于MATLAB小波变换的的图像压缩
  13. html字体颜色渐变色,css颜色渐变实例:css3文字颜色渐变的实现方法
  14. Vray材质学习笔记06——铝金属材质
  15. 虚拟机dns服务器不可以,windows虚拟机中DNS服务配置
  16. 机房收费系统(一)可行性研究报告
  17. 数量遗传学 第二章 群体的遗传组成
  18. SQL server不能用IP登录
  19. 基于TensorFlow深度学习框架,运用python搭建LeNet-5卷积神经网络模型和mnist手写数字识别数据集,设计一个手写数字识别软件。
  20. Xsd文件验证xml的java实现

热门文章

  1. wifi找不到路由器可能的排查
  2. 解决openwrt opkg内核版本不匹配问题
  3. 【LeetCode刷题笔记-39 714.买卖股票的最佳时机(含手续费)】
  4. 小项目:网易云音乐播放器
  5. 【医学图像分割】CT医学图像的预处理(重采样)
  6. python报错系列(9)--SyntaxError: Missing parentheses in call to ‘print‘. Did you mean print()
  7. echarts问题整理之多条基准线设置
  8. 【经验】通过JVM调优,让凯哥个人博客响应速度提升了不少
  9. 上班需要打卡吗?(开通微信公众号--乘着风筝去火星)
  10. 【雕爷学编程】Arduino动手做(79)---MQ135空气检测模块