技术文

iphone 微信公众号支付报错当前页面的URL未注册:http

2018-12-25  本文已影响0人  麦子时光_新浪

三个点: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  是否 是 微信后台  是什么 

上一篇下一篇

猜你喜欢

热点阅读