支付宝h5版本如何返回原始应用

支付宝是经常需要集成的第三方支付工具,主要的集成方式有两种:

  • 使用原生sdk:功能相对稳定,交互更加友好;
  • 使用h5网页版:更加灵活,不依靠应用更新.

在大多数情况下,如果是应用内的支付功能,我们会选择使用原生的sdk版本进行集成,这样的话功能稳定用户体验更加友好.但事实上很多情况下我们不得不使用网页版本,例如:

  • 应用由于某种原因不能及时更新;
  • 产品需求比较着急,时间上不允许;
  • 应用内有虚拟商品但不想使用内购方案;
  • 对应用包的体积要求比较高;
  • 其他原因.

正是因为有了这些应用场景,所以才使得网页版本的支付有了广阔的市场,但是与此同时也带来了一个比较明显的体验问题:支付宝网页版支付完成之后不能自动返回应用.

那么这个问题怎么解决呢?我们已知的打开应用的方式大致有两种,一种是使用Universal Link,所以备选方案大体上有三种方案:

Universal Link

Universal link是一种可以通过链接唤起应用的技术,主要实现技术步骤:

  1. 如果使用Xcode管理证书,在Xode中打开工程,在对应的Target --> Capabilities-->Associated Domains中,打开该服务并添加你想要用来打开应用的链接域名(使用applinks:+域名的形式);如果使用手动管理证书,则需要首先在开发者后台的对应应用中打开Associated Domains功能,然后再在Xcode中完成上述操作;
  2. 创建一个apple-app-site-association文件(没有任何文件后缀),定义允许唤起应用的链接路径,以及链接路径可以唤起的应用列表;
  3. apple-app-site-association文件放在主域名下.well-known路径下.

注意点:

  • apple-app-site-association不需要任何后缀;
  • 在网页中想要universal link能够跳转到的绑定的应用,必须要跨域;
  • 该文件在在iOS 9.3.1及其以后的操作系统中不能大于128K;如果需要在iOS 8上做支持,该文件必须具有MIME类型application / pkcs7-mime,并且必须由有效TLS证书进行CMS签名.

使用中间页面跳转

支付宝网页版有一个return_url参数,可以将支付结果返回到指定的返回链接.而在iOS操作系统中,支付结果界面会默认在浏览器总展示,所以可以利用这个界面使用schema进行跳转.(例如通过按钮点击事件打开指定的shema).

破解支付参数[该方法已经被支付宝屏蔽,仅供学习参考]

其实在支付完成以后跳转回原来的应用所需要的支持非常简答,支付宝是不是真的没有做支持呢?我们拦截一下支付宝的支付链接看看能不能发现什么有意思的东西.

我们拦截了支付宝的支付链接并对链接进行decode之后

在这个链接里我们发现了一个非常有意思的参数fromAppUrlScheme,不如大胆猜测一下他是干嘛用的.是的,你没猜错,就是app来源,只不过默认将它赋值为支付宝的schema链接,我们只需要对这个参数进行修改然后decode之后打开就可以正常返回应用了.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值