iOS开发--微信和支付宝网页支付(过审, 支付宝支付成功可回跳)

APP内嵌网页使用微信或支付宝的H5支付 如何绕过微信或支付宝的H5支付的拦截验证?下面我们从本质上来说明该如何解决这个问题。 微信和支付宝的H5支付下单成功后都会返回一个跳转支付的url连接,通过这个连接可以拉起微信或支付宝进行支付操作。 如果直接访问,支付宝会有一个中间的页面,而微信有个麻烦的refresh验证问题;那么是否可以跳过这个步骤直接将微信支付宝拉起进行支付呢? 网上大部分的教程都是让做安卓和IOS的自己去拦截微信和支付宝的地址进行处理。但是对这种内嵌网页,特别是那种直接通过前端HTML代码生成多端的情况,前端的同学就非常不好操作了; 阅读详情

前言

以前接入微信和支付宝的支付, 采用的是导入对应的SDK, 调用和返回都是由SDK内部处理, 这一点从操作和集成角度而言, 安全和方便. 但是局限性也是有的:

  1. 苹果限制虚拟类型的商品等必须使用内购, 也就是说 支付宝和微信的三方支付存在很多的局限性,这个虽然是为用户的账户资金安全考虑, 但是就目前的国内实际情况而言, 这是一个麻烦(和谐一下)
  2. 在一定程度上增加了包体积的大小
  3. 增加了审核的成本

那么, 问题来了, 有没有更简单的方案呢, 答案当然是有的.

网页支付

微信和支付宝的网页支付营运而生…
优点:

  1. 采用网页支付, 空间上不需要在项目中导入SDK增加体积
  2. WEB一站式解决支付问题
  3. 可以更好地应对审核(和谐一下)

缺点:(学习使我快乐, 忽略吧)

  1. H5或者网页的对接经验
  2. 增加了学习的成本
  3. 需要单独处理支付宝和微信的链接

应用场景:

目前我遇到的大部分是活动网页.

正文

这边文章目的是使用网页支付, 更好的适配审核, 所以, 有舍有得, 我们不去看缺点, 毕竟, 就过审而言, 这点不算什么…

进入正题, 网页支付, 就是使用WKWebView打开网页, 由网页调用支付宝or微信的网页的SDK, 这部分由前端同学(甩锅中…)完成, 我们这边通过WK的代理获取当前请求的网络连接,判断是不是需要openURL到微信或者支付宝.

1. 设置URL Scheme

这个相当于你App的铭牌, 别的App想要跳转到你的App的时候, 就需要知道你App的铭牌,一个App可以设置多个.

2. AppDelegate( 这一步 看大家需求操作吧 )

设置进入前台(跳转回来) 处理服务器需要刷新的网页

3.1 - 微信网页支付

大致流程:

  1. 获取当前请求的链接,判断你是不是微信的
  2. 保存连接中的参数名为redirect_url的对应数据为appWillBecomeActiveWebReloadUrlString,
  3. 替换redirect_url = “自定App的URLScheme” 用于,
  4. 替换完后, 重新请求连接,
  5. 跳转,
  6. 支付完成, 返回app(能返回是因为第3步)
  7. 在AppDelegate的程序进入前台的代理方法中处理当前网页刷新之前保存的appWillBecomeActiveWebReloadUrlString(至于这个保存的appWillBecomeActiveWebReloadUrlString的链接地址内容是啥,就看你们前端如何处理了).
// 判断非返回或者刷新
if (!(navigationAction.navigationType == WKNavigationType.backForward || navigationAction.navigationType == WKNavigationType.reload)) {
   
   
// 微信判断
    let pre_string = "https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb"
    if request.url?.absoluteString.hasPrefix(pre_string) ?? false {
   
   
        
        let par = WebPayTool.params(of: navigationAction.request.url)
        let params: NSMutableDictionary = NSMutableDictionary(dictionary:par);
        
        if var allKeys = params.allKeys as
H5唤起支付宝App实战:从URL Scheme到降级处理的完整指南 移动端H5页面与原生App之间的无缝跳转,是提升用户体验的关键技术之一。通过URL Scheme、Universal Link等唤起机制,网页能够一键引导用户进入App指定功能页,在营销拉新、活动落地页等场景中显著缩短转化路径。然而,实际落地面临iOS与Android行为差异、微信内置浏览器拦截、国产ROM策略不一致等复杂挑战,开发者需要结合时间戳检测、降级引导和埋点监控构建稳健方案。本文从协议构造、参数语义、兼容性处理到真机排障,系统梳理H5唤起支付宝App的完整实践路径,为需要实现一键跳转功能的工程团队 阅读详情

相关推荐

VS2022离线环境下的NuGet包管理:从本地源到依赖项全解析

本文详细解析了在VS2022离线环境下如何高效管理NuGet包,包括搭建本地NuGet源的两种方案(本地文件夹源和私有NuGet服务器)、获取离线包的三大渠道以及依赖项处理的实战技巧。通过自动化脚本和依赖树分析工具,帮助开发者解决离线环境中的依赖项黑洞问题,提升开发效率。

5f4d3s2a1q的博客 1060

支付宝周期扣款实战:从签约到主动扣款的完整Java代码与避坑指南

本文详细介绍了支付宝周期扣款功能的完整Java实现流程,从协议签约到主动扣款的各个环节,包括业务模型设计、签约接口实现、异步通知处理、主动扣款技术等关键步骤。针对开发中常见的陷阱和问题,提供了实用的避坑指南和代码示例,帮助开发者高效实现连续支付功能,提升用户留存率。

weixin_27199085的博客 374

中国裁判文书网案例批量爬取

本文介绍了某法院网站数据采集的技术研究过程,主要包含JS逆向分析和数据解密方法。通过开发者工具分析发现页面数据经过加密处理,重点研究了ciphertext等加密参数的生成逻辑。文章详细记录了定位加密函数、扣取加密代码、解密数据处理的全流程,并验证了解密方法的有效性。研究过程中强调了技术使用的法律边界,明确声明仅用于合法技术研究,禁止任何非法数据爬取行为。最终实现了加密数据的成功解密,并解释了各请求参数的作用,为后续数据清洗和存储奠定了基础。

2303_80825459的博客 815

Simulink封装与库的建立

第二栏设置标签,第三栏是对应变量名,即是第一张图中的常量名。1.先将输入与常量模块相连接并生成子系统。按照如图所示添加修改,最后的效果如下图。封装子系统搭建测试环境。

lensyu1994的博客 1739

【微知】关于GB200 NVL72服务器的一些信息?(36CPU72GPU;LPDDR5X 17T;HBM3e 13.5T;5代NVlink 1.8TB; 720P算力FP8;120Kw)

本文仅根据官网介绍分析,存在纰漏仅供参考。

技术札记 5382

ARM功耗管理软件之DVFS&AVS

思考:功耗管理软件栈及示例?WFI&WFE?时钟&电源树?DVFS&AVS?

AI-安全-功耗 1230

机器人行业面试全攻略:从0到1拿下心仪Offer,看这一篇就够了

【摘要】2026年机器人行业迎来爆发期,全球市场规模超800亿美元,人才争夺激烈。本文针对机器人行业面试提供系统攻略:首先需明确岗位方向、打造差异化标签并了解目标公司;技术面试高频考点包括ROS框架、SLAM导航、运动控制、深度学习和嵌入式系统;项目介绍需采用STAR+R结构并量化成果;行为面试需注意协作能力与职业规划。文章还总结了简历堆砌、单向输出等五大常见误区,强调长期积累与精准准备的重要性,助力求职者把握行业窗口期机会。

郑伟强dev的专栏 188

动量因子在A股市场的有效性分析:量化实证研究

验证动量因子在A股市场的有效性及时间周期性分析不同时间窗口(短期/中期/长期)对动量效应的影响量化交易成本、市场流动性对动量策略收益的侵蚀程度比较A股与成熟市场(如美股)动量效应的差异特征理论框架:行为金融学解释动量效应的产生机制技术实现:Python全流程代码实现动量因子计算与回测实证分析:统计检验、风险收益指标、敏感性分析应用拓展:结合市场微观结构的策略优化方案动量因子(Momentum Factor)

2501_92132293的博客 2472

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

上一篇: iOS开发--检测项目使用UIWebView
下一篇: iOS开发--获取启动图图片
单细胞的逻辑
博客等级 码龄10年 19粉丝 48原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值