iphone 微信公众号支付报错当前页面的URL未注册:http
三个点:1. 必须是https://
2.微信后台配置必须是 https://www.xxx.com/ok/pay1/ 注意最后一个斜杠
3.签名用的页面 必须 是 https://www.xxx.com/ok/pay1/ 同样 注意最后一个斜杠
有人说 我当前页面就是 https://www.xxx.com/ok/pay1/ 啊 !
为啥不行,这里 苹果在授权 redirect_url 跳回来的时候 ,url 路由就不变了。比如你 redirect_url 是 https://www.xxx.com/auth?code=74329479123749237&state=333
这个时候你掉起来支付 就是 “当前页面的URL未注册:https://www.xxx.com/auth``
你会说 我分明在 https://www.xxx.com/ok/pay1页面,你给老子提示 这个是什么鬼,因为ios在有些history 模式 ,进来之后 url 被挂起,就是以进来的时候为准,所以 你只要 将你跳转页面 改成 https://www.xxx.com/ok/pay1/ 即可,(千万记得最后一个斜杠 /),不然会提示 ”当前页面的URL未注册:http://www.xxx.com/ok/pay1``
你可能要问为什么 安卓可以 ,因为在 公众号页面请求外部 时 ,同样一个路由 ,在外部看起来 ,如果你是苹果 ,这个路由可能只是 刚进来的那个,如果你是安卓就是你的实际路由 ,
比如 你一进来是 rout1/haha 你跳转到 rout2/haha ;
这时候 你 在 rout2/haha 请求外部 微信接口或者其他服务接口 ,
你的实际请求当前页会因为系统有不同, 如果是苹果 ,会仍然被认为是rout1/haha ; 如果是安卓,则是 rout2/haha
遇到这个问题 ,首先 验证 你签名 所用的 url 是否 是 微信后台 是什么