#21 楼 @happypeter 奥,我发现这个地址跟文档看的不一样,忘了是哪里抄的。
正确的应该是
"https://mapi.alipay.com/gateway.do?service=notify_verify&partner=#{Alipay.pid}¬ify_id=#{CGI.escape params[:notify_id].to_s}"
先校验签名,然后 GET 一个地址,看返回内容是不是 true
module Alipay
class Notify
def self.verify?(params)
if Sign.verify?(params)
params = Utils.symbolize_keys(params)
open("https://mapi.alipay.com/gateway.do?service=notify_verify&partner=#{Alipay.pid}¬ify_id=#{CGI.escape params[:notify_id].to_s}").read == 'true'
else
false
end
end
end
end
更新,更正了校验地址
#16 楼 @simlegate 还没空做,要手工帮你重置吗?把帐号告诉我,然后我发新密码到邮箱。
已经加上即时到帐,不过我没有测试。
它校验的签名是回调参数,不是接口返回值。
我给拆成两个方法了 https://github.com/chloerei/alipay/blob/master/lib/alipay/sign.rb#L13
也许我应该在 Notify.verify? 里面也调用 Sign.verify?
这文章我看到标题就没点进去。
#10 楼 @donnior 是指这个吗? https://github.com/chloerei/alipay/blob/master/lib/alipay/notify.rb 我看回调和异步消息的参数应该一样的。校验回调先用签名检查,再访问 notify_query 接口检查。
#1 楼 @zj0713001 就是把 service 改成 create_direct_pay_by_user 就行了吧?那我明天加上去。
传输过程防止篡改用 SSL
#6 楼 @simlegate 如果可行的话,几分钟解决了,图像识别可不是那么好搞的。
#4 楼 @simlegate 看你更新的主题后,我想到一个方法,手工登陆网站,然后用调试工具把 cookie 复制出来,写到脚本里。
#2 楼 @simlegate 这是自己程序的功能测试还是做爬虫?如果是自己的程序发代码看一看,不然我举不了例子。做爬虫是另一个学问了,我不懂。
先看验证码组件本身有没有提供测试配置,没有的话在测试环境中覆盖验证码检测的校验方法,把验证码设为固定值或者总是返回 true。
#4 楼 @frank 因为路由用了嵌套结构,所以需要填入每一层的资源对象才能拿到 id,构造整条 url。
因为嵌套路由会让 url helper 的参数变得复杂,所以不要嵌套多于 1 层,这里有篇文章 http://weblog.jamisbuck.org/2007/2/5/nesting-resources
我几乎不使用嵌套。
我猜要的是
form_for([@article, @comment])
震惊!!!
base64 既然是可逆的,就不是加密了。看看 RSA。
期待,感谢参与组织的人。
#8 楼 @Sunnyroger AJAX
#6 楼 @Sunnyroger 就渲染 new,挺好的。
顶楼文字叙述顺序非常乱,我读着经常要回退来看到底问题是什么。我总结了几个:
1. 换成新的 push 到 github,为什么现在还没动静呢。
不知道问什么
2. 怎么将赋值顺序表现出来?
加个 order 参数
@comments = @micropost.comments.order("created_at ASC").paginate(page: params[:page])
3. 丑死了,请问大家有什么好办法么。
each_with_index
http://apidock.com/ruby/Enumerable/each_with_index
4. 点回复,跳到回复框,自动出现 #x 楼,@某某,这个是这么做到的?源码超出能力,看不懂。
很复杂,建议先把前面的问题解决,然后专门研究
5. 点击#可以跳转到指定楼层,是通过 Ajax 实现的吧?
HTML 锚点加一点 JS 方法进行高亮
6. 点击互补的锚就回到对应地点。这个如果想实现的话得学什么?html+js?
单纯的 HTML 锚点
7. 而且我还有上面那个问题,我点击回复的时候,如何让 controller 得到该条回复的 id?
不明白指什么
8. comment contoller 去哪得到这个 id? url 中的 params 中如上所述没有,点回复的时候生成表单(哪还是怎么取得 id 呢)包括过来?
这是中文吗?
9. 接下来该怎么弄不知道了。
我也不知道了。
总结
楼主读一读自己的帖子,看看通顺不。读不通顺,别人怎么回答?
翻墙后加 --verbose
参数看输出。
不过 node-webkit 可以直接用 npm 的包,库就多了很多。