微信支付需要填服务器id,[已解决] 微信支付不授权直接获取 open id 的方法

  • Post author:
  • Post category:其他


因为只需要获取 open id,不用去让用户授权一次。代码和一些处理逻辑还参考了 ruby china 的另一个帖子,但忘记链接了

在公众号里点了按钮到 check_openid 的路由下,页面空白,也没有报错啥的,检查了 log 里没有我想要的 openid 出现…我把微信里的回调 url 改成了 get_code 的路由,依然日志里没有我想要的东西..不知道到底哪一步有问题。

公众号花了 300 块,是有这个接口权限的,安全域名我也添加了服务器的域名。

不知道若没有花 300 块是否就没有这个接口的使用权限

没有调试成功的原因是:在 wx 文档里说安全域名不能有前缀 http 或 https,于是我误以为回调 redirect_uri 也不能要,这个 “我以为” 就是调试不成功的原因,加上 http 或 https 就可以了。回调路由就是 get_code 或 check_openid。

“`ruby

class Api::WxpaymentsController < ApplicationController

# get_code function exists for testing, could be dumped

respond_to :json

def get_code

code = params[:code]

state = params[:state]

Rails.logger.info(“=====”)

Rails.logger.info(code)

Rails.logger.info (“*****”)

Rails.logger.info (state)

api_render_result(t, E_SUCCESS)

return

end

if session[:openid]

Rails.logger.info(“Get the openid ~!—>#{session[:openid]}”)

Rails.logger.info(“Get the code ~!—>#{code}”)

end

# api_render_result(t, E_SUCCESS)

end

end