WebViewジャンプアリペイ

904 ワード

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バージョンにアクセスするのが古いためかもしれません.