美文网首页
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