jsapi微信支付,安卓可以调起支付界面,ios调不起的问题

2023-12-21 16:38:21

在对接微信jsapi支付的时候,各种配置已经配置好,但是ios支付的时候会报错,url 未注册的问题。

支付目录的配置

假如我们支付界面是:

http://www.abc.com/page/pay/index

支付目录有两种配置方式:

第一种:配置顶级域名

支付目录需要配置到

http://www.abc.com/

后面的“/”不能少

第二种:配置分级目录

支付目录需要配置到

http://www.abc.com/page/pay/index

这时候,安卓的是可以调起支付的弹窗的,但是ios调不起来,原因是ios需要配置首页地址,这时候,支付目录还需要在增加一个首页的路径,这个首页是指,第一次进入微信前端界面的路径,比如第一次进入首页的地址是

http://www.abc.com/page/home

支付目录就需要再配置一个

http://www.abc.com/page/home

如果是第一种顶级域名配置的话,此配置可以忽略

建议是使用第一种配置方案,配置顶级域名

支付呼起

这时候可以发现一个奇怪的问题,就是安卓系统的,可以呼起支付弹窗,ios却报错了,url未注册。网上搜索说的是,使用uniapp的时候,pushstate路径的时候,并没有设置成功,所以导致问题的发生。

解决方案

uniapp在进行支付界面的时候 ,需要进行一下界面的刷新,这样,ios就可以成功呼起支付弹窗了。
uniapp跳转支付目录的代码

uni.navigateTo({
    url: '/page/pay/index' ,
    // #ifdef H5
    success:(res)=>{
        if(res.errMsg == 'navigateTo:ok'){
            //跳转成功后对页面进行刷新
            window.location.reload (true); 
        }
    }
    // #endif
})

文章来源:https://blog.csdn.net/zsl471260400/article/details/135132220
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。