简单介绍项目情况:

支付宝支付

第三方公司提供支付接口,返回结果是一个加密的完整的网页。

自己写的下单业务这些。但是在页面上实现支付过程的时候,在Android手机上面无论哪种类型的浏览器都能实现自动拉取支付宝APP进行支付

返回结果:

result:{"payOrderId":"P0020190604110618000381","sign":"8288C95DB8A511E82B08FBB4FC1EA260","resCode":"SUCCESS","payParams":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9InpoLWNtbi1IYW5zIj4KPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLGluaXRpYWwtc2NhbGU9MSx1c2VyLXNjYWxhYmxlPTAiPgogICAgPHRpdGxlPuWOu+aUr+S7mDwvdGl0bGU+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHA6Ly9jZG4uYm9vdGNzcy5jb20vd2V1aS8xLjEuMS9zdHlsZS93ZXVpLm1pbi5jc3MiPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwOi8vY2RuLmJvb3Rjc3MuY29tL2pxdWVyeS13ZXVpLzEuMC4xL2Nzcy9qcXVlcnktd2V1aS5taW4uY3NzIj4KPC9oZWFkPgo8Ym9keSBvbnRvdWNoc3RhcnQ+CjxkaXYgY2xhc3M9IndldWktbXNnIj4KICAgIDxkaXYgY2xhc3M9IndldWktbXNnX19pY29uLWFyZWEiPgogICAgICAgIDxpbWcgc3JjPSJodHRwOi8vd3d3Lnlseng2Ni5jb20vcGF5aWNvbi96ZmIucG5nIiBzdHlsZT0idHJhbnNmb3JtOnNjYWxlKDAuNSkiLz4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0id2V1aS1mb3JtLXByZXZpZXciPgogICAgICAgIDxkaXYgY2xhc3M9IndldWktZm9ybS1wcmV2aWV3X19oZCI+CiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0id2V1aS1mb3JtLXByZXZpZXdfX2xhYmVsIj7ku5jmrL7ph5Hpop08L2xhYmVsPgogICAgICAgICAgICA8ZW0gY2xhc3M9IndldWktZm9ybS1wcmV2aWV3X192YWx1ZSI+wqUgMTAwLjAwPC9lbT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ3ZXVpLWZvcm0tcHJldmlld19fYmQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3ZXVpLWZvcm0tcHJldmlld19faXRlbSI+CiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9IndldWktZm9ybS1wcmV2aWV3X19sYWJlbCI+5ZWG5ZOBPC9sYWJlbD4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3ZXVpLWZvcm0tcHJldmlld19fdmFsdWUiPua4neS5kOiMtummhuaUr+S7mOWuneWFheWAvDwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0id2V1aS1mb3JtLXByZXZpZXdfX2Z0Ij4KICAgICAgICAgICAgPGEgZGF0YXR5cGU9ImExIiBjbGFzcz0id2V1aS1mb3JtLXByZXZpZXdfX2J0biB3ZXVpLWZvcm0tcHJldmlld19fYnRuX3ByaW1hcnkiIGhyZWY9Imh0dHBzOi8vbWFwaS5hbGlwYXkuY29tL2dhdGV3YXkuZG8/X2lucHV0X2NoYXJzZXQ9dXRmLTgmYW1wO2FwcF9wYXk9WSZhbXA7bm90aWZ5X3VybD1odHRwczovL3BheS45cGF5eS5jb20vc2VydmljZS9hbGloNS9ub3RpZnkmYW1wO291dF90cmFkZV9ubz0xOTA2MDQxMTA1MjQzMTY0MDY2NyZhbXA7cGFydG5lcj0yMDg4MTIxMDU5ODY3Mzg0JmFtcDtwYXltZW50X3R5cGU9MSZhbXA7cmV0dXJuX3VybD1odHRwczovL3BheS45cGF5eS5jb20vc2VydmljZS9hbGloNS9zaG93JmFtcDtzZWxsZXJfaWQ9MjA4ODEyMTA1OTg2NzM4NCZhbXA7c2VydmljZT1hbGlwYXkud2FwLmNyZWF0ZS5kaXJlY3QucGF5LmJ5LnVzZXImYW1wO3N1YmplY3Q9OVBBWSZhbXA7dG90YWxfZmVlPTEwMC4wMCZhbXA7c2lnbj04YThjZTQwY2MyZDg4YTU5ODIwMWNhNzk5NTRkYzFiOCZhbXA7c2lnbl90eXBlPU1ENSI+54K55Ye75pSv5LuYCiAgICAgICAgICAgIDwvYT4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pgo8L2Rpdj4KPC9ib2R5Pgo8c2NyaXB0IHNyYz0iaHR0cDovL2Nkbi5ib290Y3NzLmNvbS9qcXVlcnkvMS4xMS4wL2pxdWVyeS5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iaHR0cDovL2Nkbi5ib290Y3NzLmNvbS9qcXVlcnktd2V1aS8xLjAuMS9qcy9qcXVlcnktd2V1aS5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkkKGRvY3VtZW50KS5vbigiY2xpY2siLCAiYVtkYXRhdHlwZT0nYTEnXSIsIGZ1bmN0aW9uKGV2ZW50KXsKCQkkLnRvYXN0KCLliqDovb3kuK0uLi4iLCAzMDAwKTsKCX0pOwo8L3NjcmlwdD4KPC9odG1sPg==","retCode":"SUCCESS","retMsg":""}

解密之后的网页:

<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0">
    <title>去支付</title>
    <link rel="stylesheet" href="http://cdn.bootcss.com/weui/1.1.1/style/weui.min.css">
    <link rel="stylesheet" href="http://cdn.bootcss.com/jquery-weui/1.0.1/css/jquery-weui.min.css">
</head>
<body ontouchstart>
<div class="weui-msg">
    <div class="weui-msg__icon-area">
        <img src="http://www.ylzx66.com/payicon/zfb.png" style="transform:scale(0.5)"/>
    </div>
    <div class="weui-form-preview">
        <div class="weui-form-preview__hd">
            <label class="weui-form-preview__label">付款金额</label>
            <em class="weui-form-preview__value">¥ 100.00</em>
        </div>
        <div class="weui-form-preview__bd">
            <div class="weui-form-preview__item">
                <label class="weui-form-preview__label">商品</label>
                <span class="weui-form-preview__value">渝乐茶馆支付宝充值</span>
            </div>
        </div>
        <div class="weui-form-preview__ft">
            <a datatype="a1" class="weui-form-preview__btn weui-form-preview__btn_primary" href="https://mapi.alipay.com/gateway.do?_input_charset=utf-8&amp;app_pay=Y&amp;notify_url=https://pay.9payy.com/service/alih5/notify&amp;out_trade_no=19060411052431640667&amp;partner=2088121059867384&amp;payment_type=1&amp;return_url=https://pay.9payy.com/service/alih5/show&amp;seller_id=2088121059867384&amp;service=alipay.wap.create.direct.pay.by.user&amp;subject=9PAY&amp;total_fee=100.00&amp;sign=8a8ce40cc2d88a598201ca79954dc1b8&amp;sign_type=MD5">点击支付
            </a>
        </div>
    </div>
</div>
</body>
<script src="http://cdn.bootcss.com/jquery/1.11.0/jquery.min.js"></script>
<script src="http://cdn.bootcss.com/jquery-weui/1.0.1/js/jquery-weui.min.js"></script>
<script type="text/javascript">
    $(document).on("click", "a[datatype='a1']", function(event){
        $.toast("加载中...", 3000);
    });
</script>
</html>

下单的连接:

href="https://mapi.alipay.com/gateway.do?_input_charset=utf-8&amp;app_pay=Y&amp;notify_url=https://pay.9payy.com/service/alih5/notify&amp;out_trade_no=19060411052431640667&amp;partner=2088121059867384&amp;payment_type=1&amp;return_url=https://pay.9payy.com/service/alih5/show&amp;seller_id=2088121059867384&amp;service=alipay.wap.create.direct.pay.by.user&amp;subject=9PAY&amp;total_fee=100.00&amp;sign=8a8ce40cc2d88a598201ca79954dc1b8&amp;sign_type=MD5">

此时在网页上面实现点击支付的时候,在Android中可以直接拉起支付宝App进行支付,但是在IOS系统中测试,如果是在IOS上面安装其他浏览器比如Chrome则是可以直接拉起支付宝的APP进行支付,但是换到IOS中自带的Safari浏览器中则不能实现。查了很多资料,具体的都是在讲IOS上面怎么调试支付宝支付,针对Safari浏览器的微乎其微。找到一篇文档https://blog.csdn.net/lg_lin/article/details/82221657?tdsourcetag=s_pctim_aiomsg

参考这个文档中的方法,不直接返回页面,将页面在js 请求下单成功之后将返回的页面的中的<a></a>标签中的href 拿出来直接用window.location.href=url;进行访问,则成功实现了在Safari浏览器中拉取了支付宝APP完成支付。

代码展示:

 var ajax = new $ax(Feng.ctxPath + "/addRecharge", function (data) {if (data) {var as = $(data).find('.weui-form-preview__ft>.weui-form-preview__btn');var url = as.attr("href");console.log("url:"+url);window.location.href=url;}}, function (data) {Feng.error("提交充值失败!" + data.toString());});ajax.set(salerecode);ajax.start();

js 解决Safari浏览器中实现支付宝网页支付无法拉取支付宝APP的问题相关推荐

  1. android莫名其妙打开支付宝,Android 7.0 无法拉起支付宝App

    一.问题描述: 在 Android 7.0 和使用腾讯 X5 浏览器内核的 **WebView **上,无法拉起支付宝.而在之前版本的 WebView 上不存在. 支付宝平台上有相关提问: Andro ...

  2. 无法在 Safari 浏览器中打开网站如何解决?

    无法打开网页.Safari浏览器找不到服务器?相信很多人都有遇到过这样的情况,下面我们来分享无法在 Safari 浏览器中打开网站的解决方法. 1.检查页面无法打开时出现的信息.这可能会建议解决问题的 ...

  3. 解决ios系统在safari浏览器中添加web应用程序到主屏幕,打开子链接会跳转到safari的问题

    解决ios系统在safari浏览器中添加web应用程序到主屏幕,打开子链接会跳转到safari的问题 前言 ios系统的safari浏览器有一个功能可以将web应用程序添加到主程序,使得web程序像a ...

  4. ios系统微信浏览器、safari浏览器中h5页面上拉下滑导致悬浮层脱离窗口的解决方法

    ios系统微信浏览器.safari浏览器中h5页面上拉下滑导致悬浮层脱离窗口的解决方法 参考文章: (1)ios系统微信浏览器.safari浏览器中h5页面上拉下滑导致悬浮层脱离窗口的解决方法 (2) ...

  5. html5返回上一页不刷新,javascript解决在safari浏览器中使用history.back()返回上一页后页面不会刷新的问题...

    我们知道,在JavaScript中提供了一个window.history.back()方法用于返回上一页,另外也可以使用window.history.go(-1)返回上一页(跳转). 在其他的主流浏览 ...

  6. 360浏览器打不开网页_苹果移动端、PC端safari浏览器打不开网页的解决方案!

    你还在为苹果自带的safari浏览器打不开网页而苦恼吗,接下来的答案会帮助你解决苦恼. 苹果自带safari浏览器的设备分为两种:移动端.PC端.因此不同设备出现safari浏览器打不开网页的情况需要 ...

  7. 研究员发现macOS 版本Safari 浏览器中的严重漏洞,获奖10.5万美元

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 安全研究员 Ryan Pickren 在 macOS 版本的 Safari 浏览器中发现了一个漏洞,可被恶意网站用于访问受害者的已登录在线账户甚 ...

  8. iphone的Safari浏览器中HTML5上传图片方向问题解决方法

    前段时间在上传图片的时候前端使用FileReader将图片读到内存,使用canvas进行压缩,然后上传,在安卓手机上没有问题,但是在iphone的Safari浏览器中一直存在图片方向不正的问题,经过多 ...

  9. safar浏览器找不到服务器,Safari浏览器打不开网页是什么问题 Safari有哪些操作技巧...

    如果你是果粉,那么你的iPhone手机自带的浏览器是Safari,这个浏览器体积小,占用资源小,界面简洁,除了实用的浏览网页功能外没有多余设置,朴实到了令人不忍心放弃它的地步.不过,为了用户方便,Sa ...

最新文章

  1. python计算生态的命名_Python计算生态之random库
  2. 【产品】腾讯内部的顶级产品课:灵动在细节
  3. python循环函数怎么改变变量_python:循环定义多个变量
  4. 使用OpenExif修改jpeg图片信息
  5. 服务器数据库带宽费开票项目,服务器带宽和访问数据库速度
  6. 从浏览器输入地址到渲染出网页这个过程发生了什么?
  7. 布谷鸟哈希函数的参数_系统学习hash算法(哈希算法)
  8. Visitor(访问者)
  9. 淘宝类目 API数据接口
  10. 地磅15针到9针数据线连接串口数据采集方法
  11. 怎么样可以对腾讯云IM-SDK集成(web端)完成IM登录
  12. 资产标签二维码方案设计
  13. python中计算结果保留两位小数
  14. 1217: 青蛙(二)
  15. 快速排序随机选取主元的重要性
  16. 推荐系统——(论文阅读笔记)YouTube的视频推荐系统
  17. 计算机的集成显卡是什么意思,IGD、PEG、PCI的含义,我的电脑是集成显卡该选哪一项...
  18. PointFusion: Deep Sensor Fusion for 3D Bounding Box Estimation
  19. Oracle11g下载地址Oracle下载
  20. 【JS基础】立即执行函数表达式(自执行函数)

热门文章

  1. CMS自动生成静态任务
  2. docker开机启动失败_docker安装后启动不了 解决方法
  3. 学习Transformer:自注意力与多头自注意力的原理及实现
  4. 一日一技python安装_一日一技:快速实现Python 命令行参数
  5. 中关村回收贩曝黑幕:翻新一部iPhone4可赚2000元
  6. Android 源码分享之小米文件管理器
  7. StoryDALL-E复现(基于预训练文本到图像Transformer的故事续编)
  8. 罗永浩2011年保利剧院演讲(一个理想主义者的创业故事II)
  9. python atm银行取款系统_python ATM机 案例代码
  10. 品达物流TMS项目_第6章 数据聚合服务开发(pd-aggregation)