无法唤起支付宝APP问题分析

来自    手机网站支付 | 
作者:alipay  |  更新于:2017-09-07 15:35:55     
商家在网页中调用支付宝提供的网页支付接口调起支付宝客户端内的支付模块,商家网页会跳转到支付宝中完成支付,支付完后跳回到商家网页内,最后展示支付结果。若无法唤起支付宝客户端,则在一定的时间后会自动进入网页支付流程。至于 为何安装了支付宝钱包APP,却无法唤起,原因可以参考以下:


>>使用的是手机网站支付老版本(alipay.wap.create.direct.pay.by.user
1.对于在手机浏览器唤起H5页面的模式下,如果安装了支付宝却没有唤起,大部分原因是当前浏览器不在支付宝配置的白名单内;
2.请检查是否在请求参数中加入app_pay参数并赋值为Y,参数 详情参见 手机网站支付老版本文档
3.是否是在商户APP中使用手机网站支付,若是的话请添加商户APP的webView处理alipays协议
4.是否需要在IOS10以上的版本支持唤起,由于IOS10安全策略的变化,native app的webview默认不支持app_scheme协议(IOS10之前默认支持)。这将导致在webview中无法通过alipays://xxxx的方式来唤起支付宝APP。具体处理方案见增加alipays协议白名单


>>使用的是手机网站支付新版本(alipay.trade.wap.pay
1. 对于在手机浏览器唤起H5页面的模式下,如果安装了支付宝却没有唤起,大部分原因是当前浏览器不在支付宝配置的白名单内;
2.是否是在商户APP中使用手机网站支付,若是的话请添加商户APP的webView处理alipays协议
3.是否需要在IOS10以上的版本支持唤起,由于IOS10安全策略的变化,native app的webview默认不支持app_scheme协议(IOS10之前默认支持)。这将导致在webview中无法通过alipays://xxxx的方式来唤起支付宝APP。具体处理方案见增加alipays协议白名单

对于想在商户APP中内嵌webview,并使用支付宝手机网站支付接口来进行支付的商户场景来说,我们并不建议您使用该方式进行接入,原因以下:
1.该方式并非支付宝提供的支付接口的标准使用场景。使用该方式时,在webview内唤起支付宝APP支付完成后,会有不能正常跳回商户APP的情况发生。
2.该方式的支付成功率相对标准的接入支付成功率较低。
3.该方式的用户体验相对来说并没那么好。

故强烈建议有该需求的商户,使用以下标准方式来接入:
1.使用标准的App支付来进行接入;
2.使用手机网站支付转Native支付的方式来进行接入;
前面的大佬 | 2018-07-02 17:08:43
var isIntercepted = AlipaySDK.defaultService().payInterceptor(withUrl: navigationAction.request.url!.absoluteString, fromScheme: "alipaydemo",callback: {

   (resp) in
   print("this payInterceptor function result: \(resp)")
})


 


这里的isIntercepter一直返回的是false,有没有什么方法可以调试?


我的url是:alipay://alipayclient/?%7B%22dataString%22%3A%22h5_route_token%3D%5C%22RZ13yZE650YKJl4GNDpRanAZRODjC8mobilecashierRZ13%5C%22%26is_h5_route%3D%5C%22true%5C%22%22%2C%22requestType%22%3A%22SafePay%22%2C%22fromAppUrlScheme%22%3A%22alipays%22%7D

前面的大佬 | 2018-07-02 17:09:59
用的是“手机网站支付转Native支付”的方式
前面的大佬 | 2018-07-02 17:43:27
好了  原来是直接拦截 https://mclient.alipay.com开头的链接....
看官网的demo是所有url都拦截识别,看了下AliSDK的日志感觉网络不好的时候会加长等待时间 所以没有照着来
我的回复
回复数
  3
阅读数
  2618

返回顶部