美文网首页
iOS WKWebview中无法调起支付宝/微信客户端支付问题的

iOS WKWebview中无法调起支付宝/微信客户端支付问题的

作者: 小緈福 | 来源:发表于2020-08-04 18:26 被阅读0次

    这两个的解决思路都是要在下面这个方法中先拦截相应的url,再单独处理

    - (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler;
    

    支付宝拦截到的url样式如下:

    支付宝:alipay://alipayclient/?{"dataString":"h5_route_token="bf7ace48916875f26c94fba6f62226ef"&is_h5_route="true"","requestType":"SafePay","fromAppUrlScheme":"alipays"}
    微信:weixin://wap/pay...

    具体代码如下:

    - (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler{
        NSURL *URL = navigationAction.request.URL;
        NSString * urlStr = [[URL absoluteString] stringByRemovingPercentEncoding];
        if ([urlStr containsString:@"weixin://wap/pay"] || [urlStr containsString:@"alipay://alipayclient"]) {
            [[UIApplication sharedApplication] openURL:navigationAction.request.URL];
            
            decisionHandler(WKNavigationActionPolicyCancel);
        }
        else{
            //  在发送请求之前,决定是否跳转
            decisionHandler(WKNavigationActionPolicyAllow);
        }
    }
    

    作者邮件:zhangxmsy@163.com, 有问题联系。

    相关文章

      网友评论

          本文标题:iOS WKWebview中无法调起支付宝/微信客户端支付问题的

          本文链接:https://www.haomeiwen.com/subject/eyrwrktx.html