WebView跳转支付宝

一个web电商项目,在支付宝支付界面希望可以跳转到手机的支付宝客户端。
首先遵循webView的代理:webView.delegate = self
实现代理方法:

    func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool {
        let reqUrl = request.url?.absoluteString
        if (reqUrl?.hasPrefix("alipays://"))! || (reqUrl?.hasPrefix("alipay://"))! ||
            (reqUrl?.hasPrefix("http://wappaygw"))!{
            // 跳转支付宝
            UIApplication.shared.openURL(request.url!)
            
            return false
        }
        return true
    }

支付宝文档中写到跳转的API为alipays://alipay://,然而并没有跳转。打印跳转支付宝页面时得倒了跳转的url开头为http://wappaygw,加上这个判断之后点击支付宝之后会跳转到Safari然后打开支付宝客户端。可能是网页端接入支付宝SDK版本比较老的缘故。

你可能感兴趣的:(WebView跳转支付宝)