html5调用微信支付,OC HTML5 跳转 微信支付(WKWebView)

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

{

NSURLRequest*request  = navigationAction.request;

NSString    *scheme  = [request.URLscheme];

NSURL*curUrl = navigationAction.request.URL;

NSLog(@"%@",navigationAction.request.URL.absoluteString);

NSString    *url = [navigationAction.request.URL.absoluteStringstringByRemovingPercentEncoding];

NSLog(@"%@",url);

NSLog(@"%@",scheme);

NSString *wxpayScheme = @"fuanwap.ulmsale.com://";

NSString*endPayRedirectURL =nil;

// 去除原有的URL回调地址,换成自己的配置

if ([curUrl.absoluteString hasPrefix:@"https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb"]) {

if(![curUrl.absoluteStringcontainsString:@"redirect_url"]) {

decisionHandler (WKNavigationActionPolicyCancel);

NSString*lastURL = curUrl.absoluteString;

NSString*lastURL2 = [lastURLstringByAppendingString:[NSStringstringWithFormat:@"&redirect_url=%@",wxpayScheme]];

NSLog(@"%@",lastURL2);

endPayRedirectURL = lastURL2;

NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:lastURL2]];

[reqsetValue:@"http://fuanwap.ulmsale.com" forHTTPHeaderField:@"Referer"];

[webViewloadRequest:req];

return;

}

decisionHandler (WKNavigationActionPolicyAllow);

return;

}

if(![schemeisEqualToString:@"https"] && ![schemeisEqualToString:@"http"]) {

decisionHandler(WKNavigationActionPolicyCancel);

if([schemeisEqualToString:@"weixin"]) {

if(endPayRedirectURL) {

[webViewloadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:endPayRedirectURL] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:30]];

}

}else if ([scheme isEqualToString:[NSString stringWithFormat:@"weixin://wap/pay?prepayid"]]) {

}

BOOLcanOpen = [[UIApplicationsharedApplication]canOpenURL:request.URL];

if(canOpen) {

[[UIApplicationsharedApplication]openURL:request.URL];

}else{

[SVProgressHUD showInfoWithStatus:@"未安装相关应用"];

}

return;

}

decisionHandler (WKNavigationActionPolicyAllow);

return;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值