uni-app下webview支付宝支付调起问题
前情
uni-app是我很喜欢的跨平台框架,它能开发小程序,H5,APP(安卓/iOS),对前端开发很友好,自带的IDE让开发体验也很棒,公司项目就是主推uni-app。
因疫情影响,公司不能组织聚餐和其它福利活动,公司决定在公司自己园区app里接入友商的商城,通过商城来发放福利。
坑位
考虑到开发成本,我们会以webview的方式接入第三方商城,一切都很顺利,但是在IOS下支付无法唤起支付宝,会报错误 Blocked a frame with origin "https://mclient.alipay.com" ,详情见下图:

论坛百度逛了一天,始终没找到解决方法,差点决定走h5支付。
Why?
HBuilderX 2.3.4+版本已将iOS上所有webview的默认内核由UIWebview调整为WKWebview,但是支付宝支付不支持WKWebview下唤起支付宝。
解决方案
- 把WKWebview切换成UIWebview,但是你无法过审,显然不行
- 通过伪造浏览器ua来绕过这个坑,把浏览器ua伪造成UIwebview或者Safari浏览器 论坛贴地址
关键代码
uniapp可以通过配置manifest.json文件下useragent/useragent_ios/useragent_android来达到伪造的目地,此处只针对ios,所以选用useragent_ios 官方文挡。
"useragent_ios": {
"value": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2",
"concatenate": true
}
考虑到苹果它自身的浏览器应该是在苹果系统下最靠谱了,所以此处是伪造成Safari浏览器,亲测成功调起,爬出一坑。
uni-app下webview支付宝支付调起问题的更多相关文章
- ASP.NET MVC 下使用支付宝支付接口 以及 ASP.NET Core 下相关改造支付
通过nuget首先引用AopSdk.dll 包 下面写的是 Asp.Net MVC 下相关的支付接口 APP支付 配置客户端相关的参数,配置成自己的代码就可以了 private string APPI ...
- yii2.0 app上集成支付宝支付
1.首先从支付宝官网下载支付宝app支付sdk 地址 : https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.hLEa5O&a ...
- APP支付宝支付接入
1.app支付简介 买家可以在手机,掌上电脑等无线设备的应用程序内,通过支付宝(支付宝app或网页版支付宝)付款购买商品,且资金实行实时到账. 2.申请条件 1.申请前必须拥有经过实名认证的支付宝账户 ...
- APP中的第三方“支付”功能测试建议
目前市场上APP中带有支付功能的产品有非常多,那么APP中带有第三方支付功能的产品在这一模块该如何测试才尽可能的确保测试完整性. 正常流程: 正常使用支付宝.微信.银行卡(目前使用最多的第三方支付方式 ...
- maui BlazorWebView+本地html (vue、uniapp等都可以) 接入支付宝sdk 进行支付宝支付 开发 Android app
首先添加支付宝sdk的绑定库 nuget 包:Chi.MauiBinding.Android.AliPay 项目地址:https://github.com/realZhangChi/MauiBindi ...
- Android H5调起原生微信或支付宝支付
Android H5调起原生微信或支付宝支付 WebView调用原生微信或支付宝回调:其原理就是在shouldOverrideUrlLoading(final WebView view, String ...
- 商家 APP 如何接入新版支付宝支付,老版本商家如何升级
代码地址如下:http://www.demodashi.com/demo/14006.html 前言 支付宝移动支付2.0版本对比1.0版本做了较大更新,新申请的商家都需要采用最新2.0版本 SDK ...
- 手把手教你完成App支付JAVA后台-支付宝支付JAVA
接着上一篇博客,我们暂时完成了手机端的部分支付代码,接下来,我们继续写后台的代码. 后台基本需要到以下几个参数,我都将他们写在了properties文件中: 支付宝参数 AliPay.payURL = ...
- 【原创分享·支付宝支付】HBuilder打包APP调用支付宝客户端支付
前言 最近有点空余时间,所以,就研究了一下APP支付.前面很早就搞完APP的微信支付了,但是由于时间上和应用上的情况,支付宝一直没空去研究.然后等我空了的时候,发现支付宝居然升级了支付逻辑,虽然目前还 ...
- android app 集成 支付宝支付 微信支付
项目中部分功能点需要用到支付功能,移动端主要集成支付宝支付和微信支付 支付宝sdk以及demo下载地址:https://doc.open.alipay.com/doc2/detail.htm?spm= ...
随机推荐
- 个人Blog的第一篇博文
个人Blog的第一篇博文 正式加入"博客园"大家庭了,希望以后可以一直坚持下去欸.
- Windows安装Powershell7.x
事件起因: 由于需要运行一个脚本,但是该脚本是广大网友群众使用Powershell7写的,我自带的是Powershell5,运行过程中总是出现莫名其妙的问题,于是决定将Powershell升级到Pow ...
- .net 调用 nsfwjs 进行视频鉴别
1. npm 安装 nsfwjs npm install express --save npm install multer --save npm install jpeg-js --save npm ...
- WebBrowser中打开新页面
要求新打开的网页受控于WebBrowser 解决办法很简单,分两情况,一是在当前WebBrowser中打开新页面,二是在新Form中的WebBrowser中打开新页面: public Form1() ...
- Android Systrace 基础知识 -- 分析 Systrace 预备知识
1. 正文 1.1 线程状态查看 Systrace 会用不同的颜色来标识不同的线程状态, 在每个方法上面都会有对应的线程状态来标识目前线程所处的状态,通过查看线程状态我们可以知道目前的瓶颈是什么, 是 ...
- 墨天轮最受DBA欢迎的数据库技术文档-容灾备份篇
在大家的支持与认可下,墨天轮编辑部继续为大家整理出了[墨天轮最受欢迎的技术文档]系列第二篇--容灾备份篇,希望能够帮助到大家. 作为一名数据库管理员,最怕数据库中心突然失去服务能力.影响业务,而不论是 ...
- Linux 系统常见 的命令
uname -a 查看linux 的版本信息 : pwd :打印当前的工作目录 ,print work directory: cd 改变目录 ,change directory : cd . 当前目 ...
- Blazor Hybrid 实战体验:那些你可能没预料到的坑没预料到的坑
前言 昨天写了一篇介绍 Blazor Hybrid 技术的文章,但限于篇幅,一些问题未能深入探讨.今天,我想继续记录使用 Blazor Hybrid 过程中遇到的几个问题,以及这个技术目前的一些局限性 ...
- Nginx 服务器 SSL 证书安装部署
工具:WinSCP.putty 下载证书 cloud.tencent.com_bundle.crt 证书文件 cloud.tencent.com_bundle.pem 证书文件 cloud.tence ...
- AI五子棋_08 五子棋落子规则对应的价值
AI五子棋 第八步 恭喜你到达第八步! 利用前一步得到的棋型分析结果,考察每一个可能落子的位置,给每一个可能的位置打分,将棋子落在分数最高的位置上.根据经验,我们可以总结出下面的落子规则: 1. 致胜 ...