iOS使用微信H5支付无法跳转回APP的问题

//监听webview代理方法,处理支付链接
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
    
    WBLog(@"request.url = %@", [request URL]);
    
    //拦截未处理下单链接
    NSURL *url = [request URL];
    NSString *newUrl = url.absoluteString;
    if (!_hasLoading) {
        if ([newUrl rangeOfString:@"https://wx.tenpay.com"].location != NSNotFound) {
            NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:url
                                                                   cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                               timeoutInterval:60.0];
            [_webView loadRequest:request];
            _hasLoading = YES;
            return NO;
        }
    }
    
    //设置referer
    NSDictionary *headers = [request allHTTPHeaderFields];
    BOOL hasReferer = [headers objectForKey:@"Referer"] != nil;
    if (hasReferer) {
        return YES;
    } else {
        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
            dispatch_async(dispatch_get_main_queue(), ^{
                NSURL *url = [request URL];
                NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url
                                                                   cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                               timeoutInterval:60.0];
                [req setHTTPMethod:@"GET"];
                [req setValue:@"beisu100.com://" forHTTPHeaderField: @"Referer"];
                WBLog(@"req === %@", req);
                [_webView loadRequest:req];
            });
        });
        return NO;
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值