我是个编程纯小白,我的商城已经接入接口了但是出现部分苹果手机用户无法拉起支付,点了没有反应,需要大家指点。不白嫖,有酬谢。如果可以帮忙对接解决再付800元已做酬金
把
var win = window.open('', '运行窗口');
win.document.open();
win.document.close();
这几段打开窗口的代码放在ajax请求外面,
然后在ajax请求内部加上这段代码:
success: function (data) {
setTimeout(() => {
win.document.write(data);
}, 50);
},
在调用支付的时候取下 [[[UIApplication shareApplication] windows] index:0] 看看 hidden 属性是否为 YES,如果是说明隐藏了 window,H5 就出不来了,设置为 NO 就可以了 [[[UIApplication sharedApplication] windows] objectAtIndex:0];
或者把你的App中第 0 个 window 的 hidden 属性改成 NO,就可以了。
如有帮助,请采纳,多谢!
有官方文档吗,可能接口对应的型号不一样
部分苹果是指哪部分,微信还是支付宝,安卓和苹果调支付要用不同的sdk,后台有报错信息么
后台报错的日志贴一下,好分析问题
你的H5商城是内嵌在app内、小程序内还是通过浏览器访问的?支付是你自己在页面写了一个支付弹窗里面选择支付方式还是直接拉起微信、支付宝或者银行?部分iOS用户,他的手机是哪款,iOS是哪个版本,有没有日志?
部分问题,一般是兼容问题,这个可以看下官网文档。
楼主做的什么项目,安全性太高,苹果用户不能支付
部分苹果手机用户无法拉起支付——那就是说安卓用户没有问题,有的苹果用户正常,有的苹果用户有问题。
如何是这样的话,建议首先,确认无法拉起支付模块的手机,程序是否可以获取相应的权限,这种情况很可能
不是服务端的问题
肯定是配置不对
对接的什么支付平台,是用h5方式来拉起的麽,方便把详细信息再描述一下麽
具体报错信息有么,如果安卓没问题的话,是不是ios这边配置有问题
大概率是IOS的安全策略问题
应该是程序兼容性问题,因为ios的不同版本或者不同的硬件可能导致部分硬件无法支付,是否可以把具体的商城地址和出现问题的iphone和ios版本贴出来,可以针对性解决,必要时需要远程协助。有帮助请采纳!
问题描述不太明确,你是调用的哪个第三方支付,比如微信、还是支付宝等,再针对性的去找问题。
无法拉起支付的手机,他系统是什么版本的?看看是不是版本原因影响的
本人做过支付,支付宝的链接拉不起支付? 是在h5还在app内?
iOS 端暂时无法在 iframe 内正常调用所有的 JSAPI,请避免在 iframe 内使用。
可以先测试一下直接用URL Shchemes能否拉起各种app。
有说有的iOS9拒绝打开app一次后,之后再不提示的情况。
亦可逆向思维,查找如何阻止safari从网页直接跳转至app?
其中就有各种禁用,安装各种插件阻止打开app的。
我之前遇到过ios的h5商城接入微信支付后,前端无法调起支付的问题,这个是微信官方的bug,就是调起微信支付的sign必须要传“MD5”这个字符串才能进行支付,不知道你遇到的是否跟我是同样的问题。
以前我安卓上遇到过,安卓有个
如果只是部分苹果可以用部分不可以用,那有没有详细看过,是不是苹果系统版本之类的,可用的那部分和不了用的是随机的还是里面真的有区别
微信小程序支付,部分可用部分不可用,这种情况大多是后台配置appid和商户id比匹配的问题,要么就是你有多个小程序appid,然后搞混了和客户端openid不相匹配的问题,还有就是IOS系统的做的小程序授权登录没做好,支付的是时候没拿到openid,排查一下就知道了。几分钟就能排查到问题。整得有多难似的。
通过H5去支付宝和微信支付,如果使用使用的是UIwebView来加载h5页面,只有支付宝网页支付形式没啥问题,新增微信支付,需要在在info.plist中添加Alipay和weixin中添加白名单。具体聊一下
加载web页ios下提供了两种框架,UIWebView和WKWebView,经过反复测试,发现在WKWebView下在ios9系统上不能调起微信支付客户端,因此,暂时放弃WKWebView(虽然很倾向于使用它)。下边说下使用UIWebView,并不需要添加白名单即可。
创建加载UIWebView就不多说了,这里主要说下打开支付宝和微信客户端的处理
使用UIWebView调用支付宝支付很简单,只要在- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType{}协议方法中检测当前request的url是否可以打开客户端,即可
对于微信需要检测当前的request的url.scheme是否是weixin://,如果是的检测是否设置了Referer,否则先设置 Referer,如果当前scheme不是weixin://,像支付宝一样拉起客户端即可,微信支付还需要注意一点,就是支付完成和返回后如果下单url携带了回调页地址的话,微信会自动跳转到浏览器(这个地方出了设置scheme下的域名外如果还有其他方法的欢迎提供意见),同样返回应用内后也会展示改回调页,所以这个就需要服务器做下处理,如果需要进行交互,这里也不说了,网上有很多文档
可以根据自己的一个需求去找一找,因为你这里问题描述的也不是很清楚,就多花点心思去搜索引擎查一下,这样一套的解决下来,你的收获也会很多
可能是token缓存的问题,尝试不同浏览器测试一下
如果Android和部分苹果手机,支付都没问题,
那部分苹果手机不行,就得问问支付平台,没准他们提供的sdk也可能有bug(当然自身手机存在bug的问题更大)
首先考虑清楚,部分ios手机是哪部分,系统有没有一致性, 如果有一致性,那就需要针对该版本的系统做具体兼容, 前排的大佬提的意见也很有建设性,延迟50毫秒是考虑到异步请求有时还没有响应,后面就在接着执行了,但是这里直接试用promise就可以了, 另外提醒你一下,只要有一台能支付成功,那就基本不会是服务端的问题, 9成9 是前端代码写的不严谨, 如果你是外接的支付宝的SDK, 支付逻辑基本不会有问题, 任何版本的苹果手机,还没有出现过支付宝不能支付的问题,所以不要怀疑别人SDK的稳定性,最多是某些老系统或者最新的系统不太稳定, 需要在某些变量或方法上做具体兼容, 你要不把你的代码贴出来,我看一下
部分苹果手机,应该就是苹果系统版本问题,很有可能是旧版本与新版本对一些接口的支持不一样。
比如新版本可能会移除一个参数,也可能新增一个接口、参数。去多看看苹果的官方文档吧
试试用按钮唤起,不要用js
报什么错误码?
小程序吗?
小程序里嵌套的h5吗,用什么方式调起的支付?
具体的描述一下问题,再细节一点,包括报错信息啥的,都贴出来,可能就有人碰到过这种情况,可以直接解决,不详细,可能别人也一时没想起来
都测试一下看看
好早就看到这个问题了,居然还没有解决,哎
是扫码支付,还是转账支付
make一下 学习学习
make一下 学习学习
我也
关注一下
bash
支付SDK是微信还是支付宝呢?