APP内h5微信支付无法返回应用,跳转到浏览器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了APP内h5微信支付无法返回应用,跳转到浏览器相关的知识,希望对你有一定的参考价值。

参考技术A 从业这么久遇到的问题无数,之前只为解决问题各种尝试,解决就可,没做个笔记,从各位前人借鉴,真真是体验到前人种树,后人乘凉,但是我参照前人的文还是没有解决掉,各种研究,最后感谢以为大神的demo提醒了我

。谢谢,您能感受到我这虔诚的感谢的磁场吗。话不多说,开始

1.这个一定是要配置的,在info里面配置

LSApplicationQueriesSchemes 

2.设置Referer这个请求头的参数,当然微信也给出了例子 微信h5支付其他常见错误 。

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

NSDictionary *headers = [request allHTTPHeaderFields];

BOOL hasReferer = [headers objectForKey:@"Referer"] != nil;

if (hasReferer)

// .. is this my referer?

return YES;

else

// relaunch with a modified request

        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^

dispatch_async(dispatch_get_main_queue(), ^

NSURL *url = [request URL];

NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];

[request setHTTPMethod:@"GET"];

[request setValue:@"www.xxx.com://" forHTTPHeaderField: @"Referer"];

                [self.myWebView loadRequest:request];

);

);

return NO;





这个http://www.xxx.com就是你们商户申请H5时提交的授权域名.

3.这个要设置 啊,作为返回的唯一关联

4.h5需要配合一下啦

redirect_url 之前是一个完整的订单页面,但是这不行啊,支付完成就会跳转到自带浏览器,好烦躁。

然后呢,我们的后台兼前端大神,说给我一个 和我的schemse一样的字段 + 订单页面url,让我试试,然后。。。没有然后了,完美了。 ps:等等,当然一定要做一个字符串截取,截取到订单页,不然返回来的页面还是未支付的,岂不是很尴尬。 https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?xxxx=xxx&xxx=x..........&redirect_url=xxx.h5支付域名.com://xxx.xxx.com/shop/payCallBack?orderId=xxxxx .

截取到 xxx.xxx.com/shop/payCallBack?orderId=xxxxx .,再加上一个前缀拼接。OK,美滋滋。

此文,解决问题为主哈哈,有其他建议、意见,或者更好的办法统统提上来,共同进步哈。

对了配上大神的截图

以上是关于APP内h5微信支付无法返回应用,跳转到浏览器的主要内容,如果未能解决你的问题,请参考以下文章

通过手机点了这个链接之后可以跳转到微信支付,这个源码怎么写

h5跳转微信打开任意站url

微信h5网页如何实现跳转到手机默认浏览器

微信h5网页点击链接跳转到默认浏览器是怎么弄得

通过手机点链接后可以跳转到微信支付的源码怎么写?

微信app支付和h5支付的区别